Выдрать из файла определённый кусок

Патриот

Новичок
Выдрать из файла определённый кусок

есть файл, в нём:

abcdefg<test> cool </test>qwertyu

каким образом можно запихнуть в переменную жирный шрифт? Поиск всё не в кассу выдаёт
 

lucas

Guest
1. [m]file_get_contents[/m]()
2a. [m]strpos[/m](), [m]substr[/m]()
2б. [m]preg_match[/m]()
 

Crazy

Developer
Жирный шрифт засовывается в переменную через preg_match, либо умное использование substr и strstr.
 

Demiurg

Guest
В переменной вообще нет шрифта. Там только текст, ну или число.
 

Alexey333

Guest
Re: Выдрать из файла определённый кусок

Originally posted by Патриот
есть файл, в нём:

abcdefg<test> cool </test>qwertyu

каким образом можно запихнуть в переменную жирный шрифт? Поиск всё не в кассу выдаёт
Ну замени с помощью str_replace <test> на <b>, а </test> на </b>
 

sergadm

Новичок
"<?php
$str='abcdefg<test> cool </test>qwertyu';
$sh="/(<test>.*?<\/test>)/is";
preg_match($sh,$str,$s);
echo $s[1];
?>"
 

Demiurg

Guest
sergadm, а ты сам свой код пытался запускать ?
и вообще к чем это он ?
 

Ученик

Guest
Немного модернизировав код sergadm получим Гороскоп для Водолея:
<?
$filename = "http://www.ignio.ru/r/weekly/cur/car/aquarius.html";
$contents = file_get_contents($filename);
$sh="/(<!--text begin-->.*?<!--text end-->)/is";
preg_match($sh,$contents,$s);
echo '<b>Гороскоп для Водолея</b><br>'.$s[0];
?>
 

sergo_stavropol

Guest
Ученик, выцепи мне пож-ста про льва ;-))
 

ForJest

- свежая кровь
$contents = str_replace("<test>", "<test><b>", $contents);
$contents = str_replace("</test>", "</b></test>", $contents);

И не надо лишних телодвижений :)
Но Патриот на самом деле хотел не того. Жирный шрифт имелось ввиду "выделенное жирным шрифтом".
Модифицируя пример sergadm для общего случая можно поулчить:
PHP:
<?php
$str='abcdefg<test> cool </test>qwertyu 1231344325<test> cool </test>78945645';
$sh="~<test>.*?</test>~is";
preg_match_all($sh,$str,$s);
print_r($s);
?>
результат смотреть в html.
Скобочки не нужны, так как они охватывают весь паттерн.
 

sergadm

Новичок
Demiurg
непосредственно к задаваемому вопросу,всё прекрсано работает.
 

sergadm

Новичок
Demiurg
а пробел между <\/test> и ) ?
да действительно пробел. странно в скрипте его нет, а я текст сюда копировал. так что его происхождение для меня неизвестно
 
Сверху