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

Форум PHP

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

 

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

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

тема: Помогите убрать хлам из переменной !!!
 
 автор: pzserg   (06.10.2008 в 01:09)   письмо автору
 
 

Есть переменная

$text = "Слова слово слава и т.д и т.п. http://site.ru опять слова www.site2.ru и опять слова site.com слова слова mail@mail.ru";

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

Заранее благодарю.

  Ответить  
 
 автор: pzserg   (06.10.2008 в 16:54)   письмо автору
 
   для: pzserg   (06.10.2008 в 01:09)
 

help

  Ответить  
 
 автор: Visavi   (06.10.2008 в 20:02)   письмо автору
 
   для: pzserg   (06.10.2008 в 16:54)
 

Это сделать очень сложно, так как нет какого-то определенного шаблона, трудно отличить обычные слова от того, что вам не нужно

Если вы например будете обрабатывать ссылки и почтовые адреса bb-кодом , тогда можно с помощью регулярки вырезать все что начинавется с <a href и кончается </a>

  Ответить  
 
 автор: Seregin   (06.10.2008 в 20:28)   письмо автору
 
   для: pzserg   (06.10.2008 в 01:09)
 

разбивайте explode вашу строку по пробелам и отсеивайте слова, похожие на мусор

  Ответить  
 
 автор: mehelson   (07.10.2008 в 05:20)   письмо автору
 
   для: pzserg   (06.10.2008 в 01:09)
 

Примерно вот таким образом можно отсеить :
<?
$xlam 
"слово слово слово http://www.site.com слово слово слово www.site.com слово слово слово site.com слово слово слово mail@site.com";
$arr explode(" "$xlam);
foreach(
$arr as $val)
{
    if((
strpos($val"http://") === false) &&
        (
strpos($val" www.") === false) &&
        (
strpos($val"@") === false) &&
        (
strpos($val"."1) === false))
        
$string .= $val." ";
}
echo 
rtrim($string);
?>

К сожалению с регулярными выражениями я не очень... дружу. Возможно с ними было бы лучше.

  Ответить  
Rambler's Top100
вверх

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