2014-04-22 4 views
0

У меня есть много страниц, содержащих PHP, внутри шаблона.Содержимое div внутри переменной php

<h1> тег также внутри включаемого страницы, но мне нужно, чтобы изменить их динамически:

<div id='xnavact'>abc</div> 

JS

var a = $('#xnavact').html(); 
$('h1').html(a); 

Это работает, но я слышал, что Google Search не включает изменен содержимое через javascript.

Я прав, и как я могу сделать то же самое, используя php? Что-то вроде:

<h1><?php echo $content_of_xnavact ?></h1> 

Но как получить содержимое DIV внутри переменной PHP?

+1

Почему вам нужно изменить содержание 'h1'? Что не так, если вы эхом отождествляете его, когда вы повторяете свой элемент 'h1'? –

+0

@HieuLe, мне нужно это значение для размещения во многих других местах (боковая панель, нижний колонтитул ...). – bonaca

+0

Распечатать все (основное содержание, боковая панель, нижний колонтитул) с помощью PHP? – josephting

ответ

1

Вы можете анализировать свой HTML-контент на PHP с помощью некоторых пакетов, таких как Symfony 2 Dom Crawler.

Если вы просто хотите использовать значение много времени через свой скрипт, я думаю, вам стоит рассмотреть возможность сохранения этого значения в переменной и использовать его вместо хранения всех элементов HTML в статическом файле и использовать любой синтаксический анализатор.

Пример использования библиотеки Дом Гусеничный для вас:

use Symfony\Component\DomCrawler\Crawler; 
use Symfony\Component\CssSelector\CssSelector; 

CssSelector::disableHtmlExtension(); 

function getInnerHtml($node) { 
    $innerHTML= ''; 
    $children = $node->childNodes; 
    foreach ($children as $child) { 
     $innerHTML .= $child->ownerDocument->saveHtml($child); 
    } 
    return $innerHTML; 
} 

$html = <<<'HTML' 
<div> 
    <div>foo</div> 
    <div id="xnavact"><span>bar</span></div> 
</div> 
HTML; 

$crawler = new Crawler($html); 

$crawler = $crawler->filter('#xnavact'); 

foreach ($crawler as $domElement) { 
    print getInnerHtml($domElement); //result: <span>bar</span> 
} 
1

Вы можете использовать preg_replace или я не правильно понимаю ваш вопрос

+0

Не могу поверить, что вопрос не ясен. Я просто ищу php-способ сказать: 'variable x = содержимое определенного div'. Как в js - 'var a = $ ('# xnavact'). Html();' – bonaca

Смежные вопросы