|
|
|
| Подскажите, пожалуйста где исправить?
Предлоги, вводные слова указанные в $preps = explode(' ', 'а и в с на за по но вот под над');
Запрещаем переводить в ссылку на поиск.
Но дело в том если написать: "вот, " то ссылка создается думая, что "вот" ( в переменной $preps) без запятой другое слово
Как правильно записать, чтобы пример: "вот," "вот." и "вот" считалось одинаковым ?
<?php
$str = 'Вот, как надо использовать explode в строках.';
$words = array_filter(explode(' ', $str));
$preps = explode(' ', 'а и в с на за по но вот под над');
$res = '';
foreach($words as $v) {
$res .= !in_array(strtolower($v), $preps)
? '<a href="search.php?q=' . urlencode($v) . '">' . htmlspecialchars($v) . '</a> '
: $v . ' ';
}
echo $res;
?>
|
| |
|
|
|
|
автор: _гость_ (14.03.2008 в 01:52) |
|
|
для: kak
(13.03.2008 в 13:08)
| | вот как-то так попробуйте
<?
$str = 'Вот, как надо использовать explode в строках.';
$words = preg_split('/\b([A-Za-zА-Яа-яЁё]+)\b/', $str, -1, 2);
// print_r($words);
$preps = explode(' ', 'а и в с на за по но вот под над');
$res = '';
$i=0;
foreach($words as $v) {
$i++;
$res .= (!($i & 1) && !in_array(strtolower($v), $preps))
? '<a href="search.php?q=' . urlencode($v) . '">' . htmlspecialchars($v) . '</a> '
: $v ;
}
echo $res;
| только если будет
$str = 'Вот, как надо использовать nl2br в строках.';
то работать не будет | |
|
|
|
|
|
|
|
для: _гость_
(14.03.2008 в 01:52)
| | Спасибо, все работает | |
|
|
|