Ярослав
Новичок
Регулярное выражение
Здравствуйте.
Вот пишу свою первую регулярку. Для проверки мыла всегда копировал. До этого времени как то не приходилось их писАть, что даже странно
Но вот этот момент наступил.
Значит мне нужно вытащить из $str чему равен class, align и собственно текст(могут быть также теги a, img... любые) меджу тегами td.
Вот что у меня пока получилось.
Значит значение класса у меня получилось, кроме "notesContentEnd8". Если можно скажыте словами почему не находит.
Дальше начинаются проблемы.
Незнаю как задать условие для получения текста между td, точнее как записать условие "получить все данные кроме </td>"
Просьба давать советы по конкретному вопросу и не писать все регуляное выражение. Хочу попытаться написать его сам за исключением моментов где буду обращаться за Вашей помощю.
P.S. По поводу хелпа читал статьи, кот. размещены на сайте про регулярки.
И еще, это не никак не касается кражы данных с чужего сайта.
Ах да если можно как то отпимизировать, записать по проще буду рад советам.
Спасибо.
Здравствуйте.
Вот пишу свою первую регулярку. Для проверки мыла всегда копировал. До этого времени как то не приходилось их писАть, что даже странно

Значит мне нужно вытащить из $str чему равен class, align и собственно текст(могут быть также теги a, img... любые) меджу тегами td.
PHP:
<?php
$str = '<td class="notesContent1">Examen</td>
<td class="notesContent2"> </td>
<td class="notesContent3"> </td>
<td class="notesContent4"> </td>
<td class="notesContent5">100</td>
<td class="notesContent6">Exesa</td>
<td class="notesContent7">sdasfasfdasdfadfdfasdf</td>
<td align="center" class="notesContentEnd8"><a href="javascript:load_value(\'course_result\',\'164\',\'690\');"><img src="../images/edit.png" border="0"></a><img width="10" height="0"><a href="javascript:if(confirm(\'are_you_sure?\')) del_value(\'course_result\',\'164\',true);"><img src="../images/delete.png" border="0"></a></td>';
echo '<pre>';
print_r(htmlspecialchars($str));
$reg_exp = '/(?=<td)(?:.*)class="?(\w*)"?>([^<\/td>].*)(?!<\/td>)/';
preg_match_all($reg_exp, $str, $matches);
echo htmlspecialchars(print_r($matches, true));
PHP:
[0] => Array
(
[0] => <td class="notesContent1">Examen</td>
[1] => <td class="notesContent2"> </td>
[2] => <td class="notesContent3"> </td>
[3] => <td class="notesContent4"> </td>
[4] => <td class="notesContent5">100</td>
[5] => <td class="notesContent6">Exesa</td>
[6] => <td class="notesContent7">sdasfasfdasdfadfdfasdf</td>
)
[1] => Array
(
[0] => notesContent1
[1] => notesContent2
[2] => notesContent3
[3] => notesContent4
[4] => notesContent5
[5] => notesContent6
[6] => notesContent7
)
[2] => Array
(
[0] => Examen</td>
[1] => </td>
[2] => </td>
[3] => </td>
[4] => 100</td>
[5] => Exesa</td>
[6] => sdasfasfdasdfadfdfasdf</td>
)
)
Дальше начинаются проблемы.
Незнаю как задать условие для получения текста между td, точнее как записать условие "получить все данные кроме </td>"
PHP:
$reg_exp = '/(?=<td)(?:.*)class="?(\w*)"?>[COLOR=green]([^<\/td>].*)[/COLOR](?!<\/td>)/';
P.S. По поводу хелпа читал статьи, кот. размещены на сайте про регулярки.
И еще, это не никак не касается кражы данных с чужего сайта.
Ах да если можно как то отпимизировать, записать по проще буду рад советам.
Спасибо.