[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Проблема с регуляркой
redasar
Здача:
из строки типа
<p><a href="images/stories/goszakupki/123.rar">документация</a></p>
вывести
images/stories/goszakupki/123.rar
причем длина (колчиество символов) результата может меняться

Набросал функцию
function gethref($path){
preg_match_all('href="([^"]*)"', $path, $matches);
return $matches;
}

ток чет не работает. подскажите как сделать.
Или хотябы как вырезать строку между "кавычками".
DedMorozzz
а так:
function gethref($path){
preg_match_all('#href="([^"]*)"#', $path, $matches);
return $matches;
}
?
Только всё равно напишет не то, что ты хочешь)

_____________
Если не говорить пользователям, что Linux это "Сложно и страшно", то им совершенно всё равно, в чём не разбираться
redasar
Цитата (DedMorozzz @ 27.10.2010 - 06:52)
Только всё равно напишет не то, что ты хочешь)

а что тогда делать?
DedMorozzz
Например так:
<?php

$a = '<p><a href="images/stories/goszakupki/123.rar">документация</a></p>';
preg_match('#href="(.*?)"#',$a,$matches);
echo $matches[1];


_____________
Если не говорить пользователям, что Linux это "Сложно и страшно", то им совершенно всё равно, в чём не разбираться
redasar
DedMorozzz ты мой герой!
redasar
а регулярку для удаления текста <div id="mydiv"> произвольный текст </div> кто нибудьть знает?
SlavaFr
a чем тебе DomDocument не подходит?
чем $xpath->query("*/div[@id='mydiv']"); не нравится?

_____________
↓↓↓↓↓↓↓↓↓↓
ответ может быть здесь
или в mysql_error();
redasar
есть код

<?php
$dir = 'rupages';
$files = scandir($dir, 1);
foreach($files as $value)
{
if ($value<>".." and $value<>".")
{
//echo "$value <br />";
$file = $value;
$content = file_get_contents($dir."/".$file);
preg_match('#<blockquote>(.*?)</blockquote>#u', $content, $matches);
$content = $matches[1];
file_put_contents($file, $content);
}
}

?>


по идее он должен открывать все файлы в папке (а папке только хтмл файлы) , вырезать текст между тегами <blockquote>текст</blockquote> и заново записывать в файл. после запуска скрипта файлы оказываются пустыми что не так?




SlavaFr
Цитата (redasar @ 2.12.2010 - 07:02)
по идее он должен открывать все файлы в папке (а папке только хтмл файлы) , вырезать текст между тегами <blockquote>текст</blockquote> и заново записывать в файл. после запуска скрипта файлы оказываются пустыми что не так?

по ходу он находит только один <blockquote> и только когда он в одной строчке закрывается. если не чего не найдено то при отключенном error_reporting пхп не выдавая ошибки пишит в файл несуществующю переменную $matches[1]. т.е файл становится чистеньким.

_____________
↓↓↓↓↓↓↓↓↓↓
ответ может быть здесь
или в mysql_error();
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.