|
|
|
| Здравствуйте Уважаемое сообщество ни подскажете какое регулярное выражение можно использовать чтобы вывести всё между кавычками.
Это нужно вот для чего, у меня есть скрипт который может вытащить из html кода все рисунки.
<?php
$str = '<p>
<a href="http://www.icanbecreative.com/res/space-lady/cosmolady_final.jpg"><strong>Итоговый результат</strong></a></p>
<p align="center">
<img height="547" src="/lessons/les1677/1.jpg" width="450" /></p>
<p align="center">
<img height="272" src="/lessons/les1677/5.jpg" width="450" /></p>
<p align="center">
<img height="272" src="/lessons/les1677/6.jpg" width="450" /></p>
<p>';
preg_match_all('#src="([^"]+)"#i', $str, $matches); // показывает ссылку для изображения
$matches[0] = str_replace('src="/lessons', 'src="http://www.photoshop-master.ru/lessons', $matches[0]); // к адресу ссылки прибавляем http://www.photoshop-master.ru/
$matches[0] = str_replace('src="tools', 'src="http://www.photoshop-master.ru/tools', $matches[0]); // к адресу ссылки прибавляем http://www.photoshop-master.ru/
// $matches[0] = $str2;
// preg_match_all("/\"(.*?)\"/i", $str2, $matches);
echo '<pre>';
print_r($matches[0]);
?>
|
Скрипт позволяет вывести все адреса рисунков
[0] => src="http://www.photoshop-master.ru/lessons/les1677/1.jpg"
[1] => src="http://www.photoshop-master.ru/lessons/les1677/2.jpg"
[2] => src="http://www.photoshop-master.ru/lessons/les1677/3.jpg"
...
|
Мне нужно дополнить этот скрипт таким регулярным выражением который бы на выходе мог дать строки типа
http://www.photoshop-master.ru/lessons/les1677/1.jpg
http://www.photoshop-master.ru/lessons/les1677/2.jpg
http://www.photoshop-master.ru/lessons/les1677/3.jpg
А это регулярное выражение которое позволяет выводить все между кавычками. | |
|
|
|
|
|
|
|
для: pautina
(07.01.2012 в 10:03)
| | может не правильно Вас понял, но вроде у Вас есть такое выражение уже
<?php
$str = 'src=" http://www.photoshop-master.ru/lessons/les1677/1.jpg"';
preg_match_all('#src="([^"]+)"#i', $str, $matches); // показывает ссылку для изображения
echo $matches[1][0]; // выводит http://www.photoshop-master.ru/lessons/les1677/1.jpg
// или
preg_match('#src="([^"]+)"#i', $str, $matches); // показывает ссылку для изображения
echo $matches[1]; // выводит http://www.photoshop-master.ru/lessons/les1677/1.jpg
?>
|
| |
|
|
|
|
|
|
|
для: Slo_Nik
(07.01.2012 в 13:14)
| | Эти выражения только для 1 строки действуют?
Или я чего не могу понять.
...
preg_match_all('#src="([^"]+)"#i', $str, $matches);
$matches[0] = str_replace('src="/lessons', 'src="http://www.photoshop-master.ru/lessons', $matches[0]); // к адресу ссылки прибавляем http://www.photoshop-master.ru/
$matches[0] = str_replace('src="tools', 'src="http://www.photoshop-master.ru/tools', $matches[0]); // к адресу ссылки прибавляем http://www.photoshop-master.ru/
//$matches[0] = $str2;
//preg_match_all("/\"(.*?)\"/i", $str2, $matches);
echo '<pre>';
print_r($matches[0]);
?>
|
Этот код позволяет вывести все рисунки из html кода
Array
(
[0] => src="http://www.photoshop-master.ru/lessons/les1677/1.jpg"
[1] => src="http://www.photoshop-master.ru/lessons/les1677/2.jpg"
[2] => src="http://www.photoshop-master.ru/lessons/les1677/3.jpg"
...
[21] => src="http://www.photoshop-master.ru/lessons/les1677/20.jpg"
)
|
Мне бы хотелось чтобы это в одном скрипте работало.
Сейчас я в 2 этапа делаю
1 скрипт который приведён выше.
2 скрипт который выводит всё между кавычками (он уже работает для ячейки (строки) где исходные данные $str = '
[0] => src="http://www.photoshop-master.ru/lessons/les1677/1.jpg"
[1] => src="http://www.photoshop-master.ru/lessons/les1677/2.jpg"...) | |
|
|
|
|
|
|
|
для: pautina
(07.01.2012 в 15:29)
| | Наверное мы друг друга не понимаем.
Я как понял, Вам надо что бы в браузер можно было вывести адрес картинки в таком виде
http://www.photoshop-master.ru/lessons/les1677/1.jpg
|
Берём Вашу строку с адресами, применяем рег. выражение и что мы получаем на выходе
<?php
/* ваша строка с адресами */
$str = '<p align="center">
<img height="547" src="http://www.photoshop-master.ru/lessons/les1677/1.jpg" width="450" /></p>
<p align="center">
<img height="272" src="http://www.photoshop-master.ru/lessons/les1677/5.jpg" width="450" /></p>
<p align="center">
<img height="272" src="http://www.photoshop-master.ru/lessons/les1677/6.jpg" width="450" /></p>
<p>';
/* выдираем всё между кавычками */
preg_match_all('#src="([^"]+)"#i', $str, $out);
/* смотрим, что возвращает preg_match_all()
а возвращает эта функция многомерный массив */
echo "<pre>";
print_r($out);
echo "</pre>";
/*Array
(
[0] => Array
(
[0] => src="http://www.photoshop-master.ru/lessons/les1677/1.jpg"
[1] => src="http://www.photoshop-master.ru/lessons/les1677/5.jpg"
[2] => src="http://www.photoshop-master.ru/lessons/les1677/6.jpg"
)
[1] => Array
(
[0] => http://www.photoshop-master.ru/lessons/les1677/1.jpg
[1] => http://www.photoshop-master.ru/lessons/les1677/5.jpg
[2] => http://www.photoshop-master.ru/lessons/les1677/6.jpg
)
)
получается, что элемент $out[0] содержит массив полных вхождений рег. выражения,
а элемент $out[1] содержит массив вхождений первых круглых скобок, вот тут и хранятся все адреса картинок, всё то, что расположено между кавычками.
пропускаем через foreach() элемент $out[1] и на выходе получаем адреса в виде
http://www.photoshop-master.ru/lessons/les1677/6.jpg */
foreach($out[1] as $link){
echo $link."<br />";
}
?>
|
| |
|
|
|
|
|
|
|
для: Slo_Nik
(07.01.2012 в 18:53)
| | Применительно к моей строке данный код не работает
в исходнике в строке данные типа
...
<p align="center">
<img height="272" src="/lessons/les1677/18.jpg" width="450" /></p>
<p align="center">
<img height="272" src="/lessons/les1677/19.jpg" width="450" /></p>
<p align="center">
<img height="272" src="/lessons/les1677/20.jpg" width="450" /></p>
<p>'
|
Из такой исходной строки на выходе вашего кода получим не
(
[0] => Array
(
[0] => src="http://www.photoshop-master.ru/lessons/les1677/1.jpg"
[1] => src="http://www.photoshop-master.ru/lessons/les1677/5.jpg"
[2] => src="http://www.photoshop-master.ru/lessons/les1677/6.jpg"
)
[1] => Array
(
[0] => http://www.photoshop-master.ru/lessons/les1677/1.jpg
[1] => http://www.photoshop-master.ru/lessons/les1677/5.jpg
[2] => http://www.photoshop-master.ru/lessons/les1677/6.jpg
)
)
|
а
src="/lessons/les1677/1.jpg"
|
а это не рабочая ссылка для рисунка. | |
|
|
|