php str_replace返回空字符串

时间:2014-03-12 03:55:53

标签: php str-replace

<?php

$html = '<form id="form1" name="f1" action="/jk" dummy';

$html = str_replace(
    '<form id="form1" name="f1"',
    '<form id="form1" name="f1" xxxxxxxxxxxxx',
    $html);

echo $html;

为什么结果为空?

我正在使用PHP 5.3.27(cli)

感谢。

3 个答案:

答案 0 :(得分:3)

$html = '<form id="form1" name="f1" action="/jk" dummy';
$html = str_replace(
    '<form id="form1" name="f1"',
    '<form id="form1" name="f1" xxxxxxxxxxxxx',
    $html);

echo highlight_string($html, true);

另一种展示方式是:

header("Content-Type: text/plain");
echo $html;

答案 1 :(得分:0)

试试这个方法,

<?php
echo 'hello<br>';
$html = "abcde<br>";
echo $html;
$a = substr_replace($html,
    'xyzhi',
    0);

echo $a;
?>

Str_replace需要你想从字符串中替换的单词。我希望这可能有用。

答案 2 :(得分:0)

你可以查看源代码 ctr+u你会发现在那里替换成功了,但是为什么在浏览器上看不到页?因为浏览器认为它是一个标签。 所以为了在浏览器页面上显示它,我们可以使用 htmlentities():

$html = '<form id="form1" name="f1" action="/jk" dummy';
$html = str_replace(
    '<form id="form1" name="f1"',
    '<form id="form1" name="f1" xxxxxxxxxxxxx',
    $html);

echo htmlentities($html);

输出

<form id="form1" name="f1" xxxxxxxxxxxxx action="/jk" dummy