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

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

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Регулярное выражение для ссылок, внутри которых жирный текст

Сообщения:  [1-6] 

 
 автор: cheops   (17.09.2009 в 10:25)   письмо автору
 
   для: AlexDIXI   (17.09.2009 в 01:32)
 

Нужен текст примера, чтобы начать отладку - если не сложно прекрепите файл с содержимым $result.

  Ответить  
 
 автор: AlexDIXI   (17.09.2009 в 01:32)   письмо автору
 
   для: cheops   (16.09.2009 в 20:26)
 

Мой код сейчас такой:

preg_match_all("#<a href=[\"\']\?v=c&s=a&th=(.+?)[\"\']>.+?<b>.+?<\/b>.+?</a>#i", $result, $arr_id);


Он возвращает массив такой :


Array
(
    [0] => Array
        (
            [0] => <a href="?v=c&s=a&th=123bf931257729ee"> <span class="ts"><font size="1"><font color="#006633"> 3333 </font></font>  Sat-Digest <font color="#7777CC"> - Добро пожаловать на форумы Sat-Digest Пожалуйста &hellip;</font></span> </a></td> <td width="1%" nowrap> 16&nbsp;сент. <tr bgcolor="#ffffff"> <td> <input type="checkbox" name="t" value="123bf882e57e61b4"> </td> <td> <b>Поповичь паповловичь</b></td> <td> <a href="?v=c&s=a&th=123bf882e57e61b4"> <span class="ts"><font size="1"><font color="#006633"> Входящие </font></font> <b>123</b> <font color="#7777CC"> - тест</font></span> </a>
            [1] => <a href="?v=c&s=a&th=123be1bb1cfe006b"> <span class="ts"><font size="1"><font color="#006633"> Входящие </font></font> <b>test</b> <font color="#7777CC"> - test </font></span> </a>
        )

    [1] => Array
        (
            [0] => 123bf931257729ee
            [1] => 123be1bb1cfe006b
        )

)


а надо что б вернул массив такой:

Array
(
    [0] => Array
        (
            [0] =><a href="?v=c&s=a&th=123bf882e57e61b4"> <span class="ts"><font size="1"><font color="#006633"> Входящие </font></font> <b>123</b> <font color="#7777CC"> - тест</font></span> </a>
            [1] => <a href="?v=c&s=a&th=123be1bb1cfe006b"> <span class="ts"><font size="1"><font color="#006633"> Входящие </font></font> <b>test</b> <font color="#7777CC"> - test </font></span> </a>
        )

    [1] => Array
        (
            [0] => 123bf882e57e61b4
            [1] => 123be1bb1cfe006b
        )

)


замысел такой, вернуть массив содержащий <a href'ы которые имеют <b></b> внутри якоря.. Да и уточнил еще, что не все <a href'ы а только те которые имеют ссылку с такими "?v=c&s=a&th=" символами..

очень умоляю вас помогите ) просто нет сил уже..

  Ответить  
 
 автор: cheops   (16.09.2009 в 20:26)   письмо автору
 
   для: AlexDIXI   (16.09.2009 в 18:15)
 

Нужен пример текста для разбора, чтобы воспроизвести ситуацию.

  Ответить  
 
 автор: AlexDIXI   (16.09.2009 в 18:15)   письмо автору
 
   для: cheops   (16.09.2009 в 12:33)
 

Спасибо...

Я создал свой запрос, но у меня выходит за рамки <a href'а. Т.е. в один масив поподает куча информации с <a href'ами.

Помогите поправить паттерн, что б не выезжал за приделы..

preg_match_all("#<a[^>]href=[\"\']\?v=c&s=a&th=(.+?)[\"\']>.+?<b>.+?<\/b>.+?</a></td>#i", $result, $arr_id);

  Ответить  
 
 автор: cheops   (16.09.2009 в 12:33)   письмо автору
 
   для: AlexDIXI   (16.09.2009 в 01:58)
 

Можно начать отталкиваться от следущего скрипта
<?php
  $text 
'Ребята нужно с файла дернуть все     a href ссылки которые содержат в якоре <b></b> например:
<a href="?bla=123" >текст <b> еще текст</b></a> 
<a href="?bla=123" >текст еще текст</a> 
Помогите составить шаблон для получения ссылок с подобных a href-ов.
Заранее огромное СПАСИБО!!!'
;
  
$pattern "|<a[^>]+>(.*?)<b>(.*?)</b>(.*?)</a>|is";
  
preg_match_all($pattern$text$out);
  echo 
"<pre>";
  
print_r($out[0]);
  echo 
"</pre>";
?>

  Ответить  
 
 автор: AlexDIXI   (16.09.2009 в 01:58)   письмо автору
 
 

Ребята нужно с файла дернуть все <a href ссылки которые содержат в якоре <b></b> например:

<a href="?bla=123" > текст <b> еще текст</b></a>

Помогите составить шаблон для получения ссылок с подобных <a href'ов.

Заранее огромное СПАСИБО!!!

  Ответить  

Сообщения:  [1-6] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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