Свяжите URL с разделенными ключевыми словами - PullRequest
1 голос
/ 20 мая 2011

У меня есть переменная $keywords

Содержимое этой переменной - слова, разделенные запятыми или пробелами, например:

$keywords= key1,key2,key3

Или

$keywords=key1 key2 key3

у меня есть следующая таблица:

        <table width="500" border="1">
  <tr>
    <td height='auto'>Keywords: $keywords</td>
  </tr>
</table>

Я хочу разнести $keywords в key1 key2 key3 ... И связать с каждым отдельным словом предопределенный URL:

http://miosite.com/search/label/key1
http://miosite.com/search/label/key2
http://miosite.com/search/label/key3

Итак, яхочу получить это:

       <table width="500" border="1">
  <tr>
    <td height='auto'>Keywords: key1,key2,key3</td>
  </tr>
</table>

Где

        key1=http://miosite.com/search/label/key1
        key2=http://miosite.com/search/label/key2
        key1=http://miosite.com/search/label/key3

Как?

Ответы [ 4 ]

1 голос
/ 20 мая 2011

Вы можете проверить запятую, чтобы определить, какой разделитель нужно взорвать, а затем снова собрать строку:

if (strpos($keywords,",") !== FALSE) {
  $keys = explode(",",$keywords);
} else {
  $keys = explode(" ",$keywords);
}
$keywords = "";
foreach ($keys as $key) $keywords .= "http://miosite.com/search/" . $key . "<BR>";

РЕДАКТИРОВАТЬ: Очевидно, что объект должен УДАЛИТЬ адрес сайта, а не добавлять его.никто не понял это.новый код:

if (strpos($keywords,",") !== FALSE) {
  $keys = explode(",",$keywords);
} else {
  $keys = explode(" ",$keywords);
}
$keywords = "";
foreach ($keys as $key) $keywords .= str_ireplace("http://miosite.com/search/","",$key) . ",";
$keywords = substr($keywords,0,strlen($keywords)-1);

Взломайте, но попробуйте.

Редактировать: О, теперь они должны быть связаны?LOL

if (strpos($keywords,",") !== FALSE) {
  $keys = explode(",",$keywords);
} else {
  $keys = explode(" ",$keywords);
}
$keywords = "";
foreach ($keys as $key) {
   $newkey = str_ireplace("http://miosite.com/search/","",$key);
   $keywords .= "<a href=\"" . $key . "\">" . $newkey . "</a>,";
}
$keywords = substr($keywords,0,strlen($keywords)-1);

Хорошо, попробуй это.

0 голосов
/ 20 мая 2011

Я просто переписываюсь с помощью embeddg php в html и получаю запятую между ссылками:

 <?php
$keywords = 'key1 key2 key3';
$keywords = preg_split('/[, ]/',$keywords);

foreach($keywords as $key)
    $links[]= "<a href=http://miosite.com/search/{$key}\>{$key}</a>";
    print_r($links);

$keywords  = implode(',',$links);   

?>

<table width="500" border="1">
  <tr>
    <td height='auto'>Keywords: <?php  echo $keywords ;?>
</td>
  </tr>
</table>
0 голосов
/ 20 мая 2011

Ключевые слова:

$keywords = explode(',',$keywords);
$tmpArray = array();
foreach($keywords as $key) {
    $tmpArray[] = 'http://miosite.com/search/label/'.$key;
}

echo implode(",", $tmpArray);
0 голосов
/ 20 мая 2011
$keywords = explode(',',$keywords);
foreach($keywords as $key) echo("<a href=\"http://miosite.com/search/{$key}\">{$key}</a>");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...