2016-10-21 2 views
1

У меня есть список слов в строке. Теперь я хочу показать разделенные слова со ссылкой для моей страницы тегов.Показать теги с ссылкой из строки Word

Также я хочу добавить еще одно условие для этих тегов. Если количество слов меньше 3 букв, то это слово не должно отображаться в ссылках на теги.

Например, слово 'for' не должно указываться в теге link, так как его 3-буквенное слово.

$word = "Preschool Alphabet Matching Activities for Kids" 

Ожидаемый результат:

<a href='tags.php?t=Preschool'>Preschool</a > <a href='tags.php?t=Alphabet'>Alphabet</a > <a href='tags.php?t=Matching'>Matching</a > <a href='tags.php?t=Activities'>Activities</a > <a href='tags.php?t=Kids'>Kids</a> 

Нет необходимости: <a href='tags.php?t='>for</a > с момента его 3 буквы слово.

ответ

2

Здесь вы идете.

$word = "Preschool Alphabet Matching Activities for Kids"; 
$explode = explode(' ', $word); 
foreach($explode as $words) 
{ 
    if(strlen($words) > 3) 
    { 
     echo "<a href='tags.php?t=$words'>$words</a >"; 
    } 
} 

Разнесение строки слов пространств, а затем через них петлю и проверить, длину слова больше 3 и печати.

+0

Спасибо Blinkydamo. это сработало для меня .. Отличная работа .. :-) –

1
$word = "Preschool Alphabet Matching Activities for Kids"; 


function linkify($word){ 
    if(strlen($word) > 3) echo "<a href='tags.php?t={$word}'>{$word}</a>"; 
} 

array_walk(explode(' ',$word), 'linkify'); 

Или как один вкладыш с анонимной функцией:

array_walk(explode(' ', $word), function($w, $k, $i=3){ if(strlen($w) > $i)echo "<a href='tags.php?t={$w}'>{$w}</a> "; }); 
+0

Привет RamRaider .. Спасибо за код. теперь я получил исправление проблемы. :-) –