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

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

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

 

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

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

тема: заменить текст на ссылку
 
 автор: _robot   (07.06.2007 в 23:21)   письмо автору
 
 

есть html код примерно такой

<TD>sait.ru - крутой сайт </TD>
<TD>grugoisait.com.ua -не очень крутой сайт </TD>
<TD>lalala.com - описалово </TD>
...

Тоесть урл сайтов написаны без http://www.
Надо поменять урл на ссылки тоесть вместо sait.ru написать <a href=sait.ru>sait.ru</a>

Никак не могу подобрать условея для preg_replace.
Мож кто в курсе?

   
 
 автор: mr Bin   (07.06.2007 в 23:52)   письмо автору
 
   для: _robot   (07.06.2007 в 23:21)
 

Если не умничать, то так:

<?php
$content 
'<TD>sait.ru - крутой сайт </TD> 
<TD>grugoisait.com.ua - не очень крутой сайт </TD> 
<TD>lalala.com - описалово </TD>'

$pattern "|<TD>([^<]+) - ([^<]+) </TD>[\s]*|is";
preg_match_all($pattern$content$out);
for (
$i 0$i count($out[0]); $i++){ echo '<a href=http://'.$out[1][$i].'/>'.$out[1][$i].' - '.$out[2][$i].'</a><br>'; }
?>

   
 
 автор: kasmanaft   (08.06.2007 в 06:50)   письмо автору
 
   для: mr Bin   (07.06.2007 в 23:52)
 

Можно было бы использовать preg_replace

$pattern = "|(<TD>\s*)([\w_-]+(\.[\w_-]+)+)|is";
echo preg_replace($pattern, '\\1<a href="http://\\2">\\2</a>', $content);

   
Rambler's Top100
вверх

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