помогите составить правильно регулярку...

Статус
В этой теме нельзя размещать новые ответы.

Lyev

Создатель
Регистрация
19 Ноя 2009
Сообщения
37
Реакции
4
Привет помогите составить правильно регулярку
чет не получается ТЗ такое с файла выдернуть определенные фразы,(каждая уникальна) которые можно определять только по относительным признакам пример задачи:
файл:in.txt
//содержит строки
(watch/t6cmjGwh/Interracial-Couch-Bang.html
watch/QXMxsxVJ/Ready-For-Eve.html
watch/n3TtKN1B/Spit-And-Plowed.html
watch/rY6RBPXV/Stuffed-In-The-Rump.html
watch/DfmP9q7W/Double-Stuffed-B-part-1.html
watch/StVyE3KY/Reverse-And-Suck-part-2.html
)
// и т.д.
хотел реализовать таким
кодом:
<?php
$file=file('in.txt');
$fp=fopen('out.txt');
$str = preg_grep("/(?<=\/)(a-zA-Z0-9)*(?!\.\html{,4})$",$file);
?>
чтобы на выходе в out.txt были только фразы которые стоят между "/" и ".html", без "/" и ".html".
кто разбирается хорошо в регулярках можете помочь...
Буду признателен.
 
посмотрите здесь . эта тестилка регулярок вам должна помочь. сразу ошибки увидите
 
PHP:
$input = 'watch/StVyE3KY/Reverse-And-Suck-part-2.html';
$result = preg_replace('#^(.*?)\/([a-zA-Z0-9\-]+)\.html$#', '$2', $input);
print $result; // выводит: Reverse-And-Suck-part-2
 
PHP:
$in = 'watch/t6cmjGwh/Interracial-Couch-Bang.html';
$key = basename($in, '.html');
echo $key;
 
хотел реализовать таким
кодом:
Цитата: <?php
$file=file('in.txt');
$fp=fopen('out.txt');
$str = preg_grep("/(?<=\/)(a-zA-Z0-9)*(?!\.\html{,4})$",$file);
?>

чтобы на выходе в out.txt были только фразы которые стоят между "/" и ".html", без "/" и ".html".
PHP:
<?php
 $file=file('in.txt');
 $fp=fopen('out.txt','w');
 for($i=0;$i<count($file);$i++){
 preg_match('/watch\/(.*?)\.html/is',$file[$i],$out);
 fwrite($fp,$out[1]."\n");
 }
fclose($fp); 
 ?>
 
  • Нравится
Реакции: Lyev
PHP:
<?php
 $file=file('in.txt');
 $fp=fopen('out.txt','w');
 for($i=0;$i<count($file);$i++){
 preg_match('/watch\/(.*?)\.html/is',$file[$i],$out);
 fwrite($fp,$out[1]."\n");
 }
fclose($fp); 
 ?>
Belial ваш вариант тоже Супер работает, только вот,... такая же проблема как и у выводит только один результат а мне надо чтобы все что нашлось в файле in.txt по относительным признакам "/" ".html"
zzallexx

Ваш вариант вообще Супер подошел,!!! как самый близкий к результату. С единственной поправкой он выводит тоже только один результат почему-то (, в out.txt а не все полученные результаты которые можно получить по этим признакам из файла in.txt...
Как можно сделать чтобы выводился СРАЗУ весь результат?
 
перенесите тему в нужный раздел

Сори за оффтоп, темы
только начал изучать пхп , с поллного нуля и еще незнаю толком как искать правильные разделы по данной теме, Большая Просьба Модерам Пожалуйста, если можно перенесите в правильный раздел, и если не затруднит сообщите в личку название раздела.
Заранее Спасибо.
С уважением,)
 
PHP:
$in = file('in.txt');
foreach ($in as $str) {
        $out .= basename(trim($str), '.html')."\r\n";
}
$fp = fopen('out.txt', w);
fwrite($fp, $out);
fclose($fp);
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху