Как вывести текст-содержимое класа <div> через php-код?

12
kxgoo
На сайте с 29.02.2008
Offline
120
7028

На счет названия темы - так я и сам не особо понял что написал), но смысл следующий.

К примеру, есть текст, окружен дивом <div class="mtext">Мой сайт - самый лучший сайт в мире</div>, с помощью какого php-кода можно вывести содержимое div class="mtext", но не полностью, а к примеру только первые 23 символа, или, если можно, то даже лучше первые 5 слов (т.е. 4 пробела), чтобы в результате получился следующий текст "Мой сайт - самый лучший"

Adverte - Лучшие тизерные сети (http://adverte.net)
дани мапов
На сайте с 06.09.2012
Offline
204
#1

Можно использовать http://xdan.ru/Uchimsya-parsit-saity-s-bibliotekoi-PHP-Simple-HTML-DOM-Parser.html , там есть пример, как получить содержимое div с нужным классом.

Написание и доработка скриптов (PHP, MySQL, JavaScript, jQuery) (/ru/forum/811046)
PN
На сайте с 22.08.2012
Offline
103
#2
kxgoo:
На счет названия темы - так я и сам не особо понял что написал), но смысл следующий.

К примеру, есть текст, окружен дивом <div class="mtext">Мой сайт - самый лучший сайт в мире</div>, с помощью какого php-кода можно вывести содержимое div class="mtext", но не полностью, а к примеру только первые 23 символа, или, если можно, то даже лучше первые 5 слов (т.е. 4 пробела), чтобы в результате получился следующий текст "Мой сайт - самый лучший"

Сначала выполняется PHP, потом выводится HTML. То, что вы пишете - невозможно. А если нужен AJAX, это другой вопрос.

На JQuery так:


$.get('ajax.php', {data: $('.mtext).html()}, function(data) {});
Мой совет помог? Не скупись! Bitcoin 1Lseddet1o1B6odgXQHbGaWGwRkt1Db8Ef Ethereum 0x450f1a17461e25194B7F9226cDEe70173F39e1e1
kxgoo
На сайте с 29.02.2008
Offline
120
#3
proksey-net:
То, что вы пишете - невозможно.

Как так? Вот к примеру код, который отображает содержимое тайтла главной страницы сайта

<?php
$fp = file_get_contents('index.html');
$res = preg_match("/<title>(.*)<\/title>/siU", $fp, $title_matches);
$title = preg_replace('/\s+/', ' ', $title_matches[1]);
echo trim($title);
?>

так мне нужен почти такой же, только чтобы отображал содержимое див-а (или можно и не див-а) и с определенным количеством слов\символов

PN
На сайте с 22.08.2012
Offline
103
#4

так это уже парсер, вы не уточнили

kxgoo
На сайте с 29.02.2008
Offline
120
#5
proksey-net:
так это уже парсер, вы не уточнили

я в php не сильно разбираюсь, я только знаю что мне нужно чтобы код делал, но не знаю как все происходит, иначе я бы не писал сюда что нужна помощь в создании кода)

kxgoo
На сайте с 29.02.2008
Offline
120
#6

так что, никаких больше вариантов?

J
На сайте с 20.02.2014
Offline
120
jkm
#7


if (preg_match('~<div class="mtext">(.*)</div>~siU', $fp, $match)) {

$text = substr($match[1], 0, 23);
// Если текст в кодировке UTF-8
// $text = mb_substr($match[1], 0, 23, 'UTF-8');

echo trim($text);

preg_match('~\s*\K(?:\s*\S+){0,5}~', $match[1], $result);

echo "<br>\n", $result[0];
}
kxgoo
На сайте с 29.02.2008
Offline
120
#8
jkm:

if (preg_match('~<div class="mtext">(.*)</div>~siU', $fp, $match)) {

$text = substr($match[1], 0, 23);
// Если текст в кодировке UTF-8
// $text = mb_substr($match[1], 0, 23, 'UTF-8');

echo trim($text);

preg_match('~\s*\K(?:\s*\S+){0,5}~', $match[1], $result);

echo "<br>\n", $result[0];
}

хм, почему-то ничего не отображается 😕

J
На сайте с 20.02.2014
Offline
120
jkm
#9

Предполагалось что в переменной $fp уже есть искомый текст в <div class="mtext">

$fp = file_get_contents('index.html');

kxgoo
На сайте с 29.02.2008
Offline
120
#10

нужно только чтобы даных пхп-код отображал содержимое <div class="mtext"> из той же страницы где он сам сейчас и находится, т.к. страницы на сайте динамические.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий