PHP Simple HTML DOM — Получить текст внутри редкого тега

моя проблема в том, что я не могу захватить текст в этом теге:

<p class="name">
"                        Eau de Toillete for Men, Spray 110ml     "       </p>

Как видите, текст в кавычках

«Эуа туалет»
для мужчин, 110 мл спрей «

Это мой код:

$pos1 = ".h2marca";
$pos2 = "[id=landing-submarca-perfume] h1";
$pos3 = "[class=name]";
$pos4 =".price";
$contador = 0


while (!empty($titulo3 = trim($html2->find($pos3,$contador)->plaintext)))
{
$titulo1 = trim($html2->find($pos1,0)->plaintext);

$titulo2 = trim($html2->find($pos2,0)->plaintext);

$titulo3 = trim($html2->find($pos3,$contador)->plaintext);
$titulo3 = str_replace("for Women, ","",$titulo3);
$titulo3 = str_replace("for Men, ","",$titulo3);

$titulo= $titulo1 . " " . $titulo2 . " " . str_replace("."," ",$titulo3);
$precio = trim($html2->find($pos4,$contador)->innertext);

$contador++;
}

Мне нужно использовать «$ contador», потому что в этой сети есть и другие добавления, и мне нужно захватить все.

$ título3 захватить пустое место.

Мне нужно захватить текст без удаления переменной $ contador

Вы можете мне помочь? это пример сети
http://www.fundgrube.es/es/perfumes/aramis/aramis.html

Спасибо!.

2

Решение

Немного вокруг домов, но это может сработать:

  $split_this = '<p class="name">
"                        Eau de Toillete for Men, Spray 110ml     "       </p>';

$split_this = strip_tags($split_this, '');
$split_this = str_replace('"','',$split_this);
$split_this = trim($split_this);
$split_this = '"' . $split_this . '"';

Дай <p id="ptag1"> пометить идентификатор и поставить скрытый ввод

 <input type="hidden" name="ptag_value" />

с помощью JavaScript вы можете установить

 document.getElementById('ptag_value').value = document.getElementById('ptag1').innerHTML;

Если их сервер поддерживает fopen

   $handle = fopen("http://www.fundgrube.es/es/perfumes/aramis/aramis.html", "r");
$contents = stream_get_contents($handle);
$explode( '<p class="name">', $contents ); // may not work
echo $contents[0];  // 1, 2, 3 , 4, etc

или же

     strip_tags($contents, '<p>'); // should preserve the p tags

в противном случае используйте пробел »

     strip_tags($contents, ''); // not entirely predictable but can work

Нужно просто оставить весь текст без HTML. Другие примеры:

https://stackoverflow.com/questions/15281124/php-split-explode-stringсильный текст

2

Другие решения

Он отлично работает для меня:

require_once('simple_html_dom.php');

$html = <<<EOF
<p class="name">
"                        Eau de Toillete for Men, Spray 110ml     "       </p>
EOF;

$dom = str_get_html($html);

echo $dom->find('p.name', 0)->plaintext;
#=>       "                        Eau de Toillete for Men, Spray 110ml     "
1

По вопросам рекламы [email protected]