PHP: считать слова в DIV - PullRequest
       23

PHP: считать слова в DIV

0 голосов
/ 17 февраля 2011

Я говорю PHP, потому что у меня есть этот фрагмент для подсчета слов с помощью PHP, может, лучше с jQuery?

$words = str_word_count(strip_tags($myString));

У меня есть страница PHP со статическим HTML, смешанным с некоторыми переменными PHP, например:

<?php 
    $foo = "hello"; 
?>
<html>
<body>
    <div>total words: <?= $words ?></div>
    <div class="to_count">
        <?= $foo ?> <b>big</b> <i>world</i>, how <span>are</span> we today?
    </div>
</body>
</html>

Я попытался заглянуть в выходную буферизацию PHP и подсунул ob_start() и $buffer = ob_get_clean(); вокруг DIV .to_count, но я не могу использовать $buffer в верхней части страницы PHP для подсчета слов .

Любая помощь, чтобы направить меня в путь, приветствуется.

Ответы [ 4 ]

2 голосов
/ 17 февраля 2011

С jQuery и регулярным выражением:

var wordCount = $.trim($(".to_count").text()).split(/\s+/g).length;
0 голосов
/ 17 февраля 2011

Вы можете использовать буферизацию вывода для его генерации. Я думаю, что это сложнее, чем генерировать HTML в php.

<?php
ob_start();
$foo = "hello";
?>


<?php echo $foo ?> <b>big</b> <i>world</i>, how <span>are</span> we today?

<?php
    $myString = ob_get_contents();
    ob_end_clean();
    $words = str_word_count(strip_tags($myString));
?>
<html>
<body>
    <div>total words: <?php echo $words ?></div>
    <div class="to_count">
        <?php echo $myString ?>
    </div>
</body>
</html>
0 голосов
/ 17 февраля 2011

Я рекомендую создать содержимое div .to_count перед его рендерингом.Как то так:

<?php 
    $foo = "hello";
    $content = "$foo <b>big</b> <i>world</i>, how <span>are</span> we today?";
    $words = str_word_count(strip_tags($content));
?>
<html>
<body>
    <div>total words: <?= $words ?></div>
    <div class="to_count"><?= $content ?></div>
</body>
</html>
0 голосов
/ 17 февраля 2011

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

...