|
|
|
| Ищу на странице текст по шаблону
<a[^>]+href=\"([^\"]+)\"[^>]+>(.+)<\/a>
Как изменить выражение (.+), чтобы оно учитывало также ссылки с переносом строки?
<a class="link" href="http://www.site.ru"> text
text
text
</a>
Как вообще учесть все возможные символы включая пробелы?
Вот есть к примеру у меня хтмл
<div> <b>текст</b>
текст текст <span>текст</span>
текст
</div>
Как найти текст между дивами, если учесть, что в нем может быть все что угодно (кроме</div>), включая теги и знаки переноса строки?
Если бы не было переноса строки.. можно было бы просто..
$pattern="/<div>(.+)<\/div>/"; | |
|
|
|
|
|
|
|
для: s)))
(22.04.2007 в 00:19)
| | $pattern="/<div>(.+)<\/div>/s"; | |
|
|
|
|
|
|
|
для: sms-send
(22.04.2007 в 01:25)
| | sms-send
Спасибо большое, с модификаторами разобрался, оказывается это не сложно, но теперь у меня скрипт выводит в массив всё, даже после </div>
Может подскажете как составить выражение для текста вида...
...
<a style="... " href="url" onclick="..." > Здесь <i>любой</i> <b>текст</b> с тэгами и переносами на
дргугую
строку
</a>
...
Необходимо вывести урл и текст.
-------------------------------------------------------------------------------------
upd
решение нашел такое))
(.*?) вместо (.+) | |
|
|
|
|
|
|
|
для: s)))
(22.04.2007 в 01:33)
| | Используйте выражение:
<a.+href=(\"|\')([a-z,0-9,\:\.\\\/]+)(\"|\').+>(.+)<\/a>
|
Для поиска (не забудьте про модификаторы).
URL: $2
Текст: $4
Для форматирования текста (в одну строку и без тегов) используйте связку :
$reg = '<a.+href=(\"|\')([a-z,0-9,\:\.\\\/]+)(\"|\').+>(.+)<\/a>';
$value = eregi_replace($reg, '\\4', $text);
$value = trim(eregi_replace("\n", ' ', strip_tags($value)));
echo $value;
|
Только стоит еще, наверное, учесть, что ссылка в href может быть и без кавычек, а также там могут быть русские символы (Wikipedia). | |
|
|
|