PHP . SU
Программирование на PHP, MySQL и другие веб-технологии
Страниц (106): В начало « ... 49 50 51 52 [53] 54 55 56 57 ... » В конец
Найдено сообщений: 1580
Строитель
Отправлено: 03 Июля, 2017 - 21:45:41 • Тема: Данные с <table> в массив • Форум: Вопросы новичков
Ответов: 5 Просмотров: 225
В предыдущем варианте я не учёл наличие html-тегов в результирующем массиве (их ведь не должно быть?) Вот исправленный вариант Спойлер (Отобразить ) PHP:
скопировать код в буфер обмена
$s = '
<table class="guayaquil_table" border=1 width="100%">
<thead>
<tr>
<th>бренд</th>
<th>название</th>
<th>Дата</th>
</tr>
</thead>
<tbody>
<tr>
<td>Febi</td>
<td>Товар</td>
<td>24.05.2005</td>
</tr>
</tbody>
</table>
' ;
$p = '~(?<=<th>)(?<th>.+)(?=</th>)|(?<=<td>)(?<td>.+)(?=</td>)~iu' ;
echo '<pre>' ; var_dump ( $arr ) ; echo '</pre>' ;
Строитель
Отправлено: 03 Июля, 2017 - 19:28:51 • Тема: Данные с <table> в массив • Форум: Вопросы новичков
Ответов: 5 Просмотров: 225
davyduck Спойлер (Отобразить ) PHP:
скопировать код в буфер обмена
$s = '
<table class="guayaquil_table" border=1 width="100%">
<thead>
<tr>
<th>бренд</th>
<th>название</th>
<th>Дата</th>
</tr>
</thead>
<tbody>
<tr>
<td>Febi</td>
<td>Товар</td>
<td>24.05.2005</td>
</tr>
</tbody>
</table>
' ;
echo '<pre>' ; var_dump ( $arr ) ; echo '</pre>' ; /*
array(3) {
["бренд"]=> string(13) "Febi"
["название"]=> string(19) "Товар"
["Дата"]=> string(19) "24.05.2005"
}
*/
Строитель
Отправлено: 30 Июня, 2017 - 01:25:08 • Тема: Получить содержимое из тэга <P>, но если в содержимом не встречается тэг P • Форум: Регулярные выражения
Ответов: 7 Просмотров: 642
antobra , вроде бы такСпойлер (Отобразить ) PHP:
скопировать код в буфер обмена
$str = '<body>
...some code...
<p class="any_class">
<p class="any_class" anyAttribute="anyValue">Value 1</p>
<p class="any_class" anyAttribute="anyValue">Value 2</p>
<p class="any_class" anyAttribute="anyValue">Value 3</p>
</p>
<p class="any_class">
<p class="any_class" anyAttribute="anyValue">Value 4
</p>
<p class="any_class" anyAttribute="anyValue">Value 5</p>
</p>
...some code...
</body>' ;
echo '<pre>' ; var_dump ( $a [ 1
] ) ; echo '</pre>' ; /*
array(5) {
[0]=>
string(7) "Value 1"
[1]=>
string(7) "Value 2"
[2]=>
string(7) "Value 3"
[3]=>
string(7) "Value 4"
[4]=>
string(7) "Value 5"
}
*/
Строитель
Отправлено: 29 Июня, 2017 - 23:29:48 • Тема: Получить содержимое из тэга <P>, но если в содержимом не встречается тэг P • Форум: Регулярные выражения
Ответов: 7 Просмотров: 642
antobra , если правильно понял Спойлер (Отобразить ) PHP:
скопировать код в буфер обмена
$str = '<body>
...some code...
<p class="any_class">
<p class="any_class" anyAttribute="anyValue">Value 1</p>
<p class="any_class" anyAttribute="anyValue">Value 2</p>
<p class="any_class" anyAttribute="anyValue">Value 3</p>
</p>
<p class="any_class">
<p class="any_class" anyAttribute="anyValue">Value 4</p>
<p class="any_class" anyAttribute="anyValue">Value 5</p>
</p>
...some code...
</body>' ;
echo '<pre>' ; var_dump ( $a ) ; echo '</pre>' ;
(Добавление)
antobra , вам и теги нужно получать <p class="any_class" anyAttribute="anyValue">Value 1</p> ? В примере выше только значения.
(Добавление)
antobra , вот такой вариант вам требуется?
PHP:
скопировать код в буфер обмена
/*array(5) {
[0]=>
string(56) "<p class="any_class" anyAttribute="anyValue">Value 1</p>"
[1]=>
string(56) "<p class="any_class" anyAttribute="anyValue">Value 2</p>"
[2]=>
string(56) "<p class="any_class" anyAttribute="anyValue">Value 3</p>"
[3]=>
string(56) "<p class="any_class" anyAttribute="anyValue">Value 4</p>"
[4]=>
string(56) "<p class="any_class" anyAttribute="anyValue">Value 5</p>"
}*/
Если да, тогда рассмотрите этот вариант Спойлер (Отобразить ) PHP:
скопировать код в буфер обмена
$str = '<body>
...some code...
<p class="any_class">
<p class="any_class" anyAttribute="anyValue">Value 1</p>
<p class="any_class" anyAttribute="anyValue">Value 2</p>
<p class="any_class" anyAttribute="anyValue">Value 3</p>
</p>
<p class="any_class">
<p class="any_class" anyAttribute="anyValue">Value 4</p>
<p class="any_class" anyAttribute="anyValue">Value 5</p>
</p>
...some code...
</body>' ;
preg_match_all ( '~(?<=(?:<p[^>]>))*(?:<p[^>]*>.+</p>)(?=(?:</p>))*~m' , $str , $a ) ;
echo '<pre>' ; var_dump ( $a [ 0
] ) ; echo '</pre>' ;
Строитель
Отправлено: 29 Июня, 2017 - 01:06:07 • Тема: Простое регулярное выражение • Форум: Регулярные выражения
Ответов: 6 Просмотров: 513
vsavelyev пишет: Из всего этого количества нужно вытащить только две ссылки, которым соответствуют теги написанные в первом посте.
Понял, сейчас попробую написать шаблон.
(Добавление)
Вроде бы так: Спойлер (Отобразить ) PHP:
скопировать код в буфер обмена
$search = '<div id="ymap-opisanie-obekta-ocenki-294-field-add-yamap-0" style="width:640px; height:300px;" class=""><img typeof="foaf:Image" class="img-responsive" src="http://static-maps.yandex.ru/1.x/?ll=37.552914308805%2C55.426979491471&z=13&size=640%2C300&l=map&pt=37.552547592651%2C55.429127109966%2Cpm2blm" width="640" height="300" alt="" title="Yandex Map" /></div>
<div id="ymap-opisanie-obekta-ocenki-294-field-add-yamap-1" style="width:640px; height:300px;" class=""><img typeof="foaf:Image" class="img-responsive" src="http://static-maps.yandex.ru/1.x/?ll=37.544737%2C55.437130836261&z=13&size=640%2C300&l=map&pt=37.512207169067%2C55.432641141713%2Cpm2blm" width="640" height="300" alt="" title="Yandex Map" /></div>' ;
$patt = '~(?:<div id=".+field-add-yamap-\d+")+.+src="(\S+)"~' ;
echo '<pre>' ; print_r ( $all [ 1
] ) ; echo '</pre>' ; /*
Array
(
[0] => http://static-maps.yandex.ru/1.x/?ll=37.552914308805%2C55.426979491471&z=13&size=640%2C300&l=map&pt=37.552547592651%2C55.429127109966%2Cpm2blm
[1] => http://static-maps.yandex.ru/1.x/?ll=37.544737%2C55.437130836261&z=13&size=640%2C300&l=map&pt=37.512207169067%2C55.432641141713%2Cpm2blm
)
*/
Строитель
Отправлено: 29 Июня, 2017 - 00:38:17 • Тема: Простое регулярное выражение • Форум: Регулярные выражения
Ответов: 6 Просмотров: 513
vsavelyev , если я правильно вас понял, вам нужно получить не все ссылки атрибута src ? Тогда напишите точно, с какими строками должно быть совпадение.
Строитель
Отправлено: 29 Июня, 2017 - 00:21:45 • Тема: Простое регулярное выражение • Форум: Регулярные выражения
Ответов: 6 Просмотров: 513
vsavelyev Спойлер (Отобразить ) PHP:
скопировать код в буфер обмена
$search = '<div id="ymap-opisanie-obekta-ocenki-294-field-add-yamap-0" style="width:640px; height:300px;" class=""><img typeof="foaf:Image" class="img-responsive" src="http://static-maps.yandex.ru/1.x/?ll=37.552914308805%2C55.426979491471&z=13&size=640%2C300&l=map&pt=37.552547592651%2C55.429127109966%2Cpm2blm" width="640" height="300" alt="" title="Yandex Map" /></div>
<div id="ymap-opisanie-obekta-ocenki-294-field-add-yamap-1" style="width:640px; height:300px;" class=""><img typeof="foaf:Image" class="img-responsive" src="http://static-maps.yandex.ru/1.x/?ll=37.544737%2C55.437130836261&z=13&size=640%2C300&l=map&pt=37.512207169067%2C55.432641141713%2Cpm2blm" width="640" height="300" alt="" title="Yandex Map" /></div>' ;
$patt = '~src="(\S+)"~' ;
echo '<pre>' ; var_dump ( $all [ 1
] ) ; echo '</pre>' ; /*
array(2) {
[0]=>
string(142) "http://static-maps.yandex.ru/1.x/?ll=37.552914308805%2C55.426979491471&z=13&size=640%2C300&l=map&pt=37.552547592651%2C55.429127109966%2Cpm2blm"
[1]=>
string(136) "http://static-maps.yandex.ru/1.x/?ll=37.544737%2C55.437130836261&z=13&size=640%2C300&l=map&pt=37.512207169067%2C55.432641141713%2Cpm2blm"
}
*/
Подправил (убрал скобки символьного класса)
Строитель
Отправлено: 16 Июня, 2017 - 22:25:39 • Тема: in_array для 2 массивов • Форум: Вопросы новичков
Ответов: 5 Просмотров: 439
pantela , если я правильно понял А если не правильно, то напишите подробнее, что нужно получить в результате поиска.
Страниц (106): В начало « ... 49 50 51 52 [53] 54 55 56 57 ... » В конец
Powered by ExBB FM 1.0 RC1. InvisionExBB