Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Создаем ссылку на поиск без предлогов, вводных слов и т.п.
 
 автор: kak   (13.03.2008 в 13:08)   письмо автору
 
 

Подскажите, пожалуйста где исправить?

Предлоги, вводные слова указанные в $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, -12);
// 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 в строках.';
то работать не будет

   
 
 автор: kak   (14.03.2008 в 12:14)   письмо автору
 
   для: _гость_   (14.03.2008 в 01:52)
 

Спасибо, все работает

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования