|
|
|
| Здравствуйте!
никак не приходит в голову, как решить следующую задачу (что решалась - помню, но никак не могу вспомнить, как именно):
есть строка, она длинная, там много всякой ерунды
нужно их этой строки вырезать все вхождения, которые ограничены с начала последовательностью <tr> и с конца последовательностью </tr> (для дальнейшей работы нужни именно эти вхождения, т.е. они должны как-то сохраняться в массив)
(как более общий случай - известно начальная последовательность и конечная.. как это можно сделать?
Заранее спасибо за ответ. | |
|
|
|
|
|
|
|
для: victoor
(18.02.2009 в 04:13)
| | Эт скорее в раздел Регулярных выражений.
И я их плох знаю, но примерно так:
<?
$text = 'мню-мню<tr>бу-бу</tr>sseeмню-мню<tr>фу-фу</tr>ыsaыы';
preg_match_all("|<tr>(.*?)</tr>|uis",$text,$_R);
unset($_R[0]);
echo '<pre>';
print_R($_R);
echo '</pre>';
?>
|
| |
|
|
|
|
|
|
|
для: а-я
(18.02.2009 в 05:08)
| | Спасибо, похоже, это то, что нужно...
только что значит в строке
>preg_match_all("|<tr>(.*?)</tr>|uis",$text,$_R);
последняя часть регулярного выражения (uis)? | |
|
|
|
|
 10.5 Кб |
|
|
для: victoor
(18.02.2009 в 13:13)
| | хм.. какая-то фигня получается....
<?php
$file = file_get_contents ("clans.txt");
echo (htmlspecialchars ($file)."!!!!<br />");
preg_match_all("|<tr>(.*?)</tr>|uis", $file, $file_array, PREG_SET_ORDER);
echo (htmlspecialchars ($file_array[1][0])."!!10<br />");
echo ("<br />");
echo (htmlspecialchars ($file_array[1][1])."!!11<br />");
?>
|
если использовать файл clans_.txt - все нормально читается, только из-за проблем с кодировкой русские буквы крякозяброй получаются.
а если исопользовать файл clan.txt - ругается (Notice: Undefined offset: 1 in E:\home\wolf-clan.net\public_html\add_clans_in_DB.php on line 13) и не выводит кусочки от строк :(
Что это такое и как с этим бороться??
P.S. во вложении файл скрипта и оба файла с данными. | |
|
|
|