Что не так с этим PHP-скриптом? - PullRequest
0 голосов
/ 01 апреля 2011

Я хочу вывести $ desc со словами в $ sq полужирным . Вот как выглядит мой код:

<?php
$desc = "This a sentence witch contains 4 words on is Hello the other is moto the third is hoto and finally but not least nono.";
$sq = "Hello moto hoto nono";
$pieces = explode(" ", $sq);
foreach (array($pieces[0], $pieces[1],$pieces[2],$pieces[3],$pieces[4]) as $item)
    $descr = str_replace($item, "<b>".$item."</b>", $desc);
    echo $descr;
?>

Спасибо

Ответы [ 3 ]

4 голосов
/ 01 апреля 2011

Прежде всего, у вас нет пяти элементов (от 0 до 4) в вашем массиве pieces, но только 4 (=> от 0 до 3).Далее вам не нужно делать это:

foreach (array($pieces[0], $pieces[1],$pieces[2],$pieces[3],$pieces[4]) as $item)

, когда вы можете сделать

foreach ($pieces as $item)

С измененной первой точкой это должно работать, но вы должны изменить оба.

2 голосов
/ 01 апреля 2011

Попробуйте это:

$desc = "This a sentence witch contains 4 words on is Hello the other is moto the third is hoto and finally but not least nono.";
$sq = "Hello moto hoto nono";
$pieces = explode(" ", $sq);
foreach ($pieces as $item)
  $desc = str_replace($item, "<b>".$item."</b>", $desc);
echo $desc;

Было две ошибки (я думаю):

  • Во-первых, инструкция цикла была неправильной.
  • Эхо-переменная неверна (descr и desc).

Привет

0 голосов
/ 01 апреля 2011

Нет $ штук [4]. 0 => привет; 3 => ноно.

...