PHP脚本没有';不行。而条件在循环中

PHP脚本没有';不行。而条件在循环中,php,html,Php,Html,我希望有人能在这里帮助我。我只是编了一点代码,我被卡住了。给我一个提示就好了,这向我解释了我错在哪里 这项任务比我现在做的要复杂得多。目前,我希望for循环检查字符串的每个子字符串。在循环内部是一个while条件,它应该不断呼出子字符串,直到子字符串成为一个空格。然后它应该停止回响 我不明白为什么它不起作用。我的服务器超时了 <?php // Task // Find-and-Replace // "whole word" match // Text is sorted as array

我希望有人能在这里帮助我。我只是编了一点代码,我被卡住了。给我一个提示就好了,这向我解释了我错在哪里

这项任务比我现在做的要复杂得多。目前,我希望for循环检查字符串的每个子字符串。在循环内部是一个while条件,它应该不断呼出子字符串,直到子字符串成为一个空格。然后它应该停止回响

我不明白为什么它不起作用。我的服务器超时了

<?php
// Task
// Find-and-Replace
// "whole word" match
// Text is sorted as array of character

$text = "This film is the best film of the year."; // Find: film, replace: movie
$word = "film";
$replace = "movie";
echo strlen($text) . "<br>";

for($i = 0; $i <= strlen($text); $i++){
    while(substr($text,$i,1) != " ") {
        echo substr($text,0,1);
    }
}



?>

编辑: 它仍然不起作用:

for($i = 0; $i <= strlen($text); $i++){
    while(substr($text,$i,1) != " ") {
        echo substr($text,$i,1);
    }
}

对于($i=0;$i使用正则表达式更容易:

$text = "This film is the best film of the year."; // Find: film, replace: movie
$word = "/film/i";
$replace = "movie";

echo preg_replace($word, $replace , $text );

它将永远不会退出while循环开始。在第一次迭代中,它将一遍又一遍地检查相同的子字符串。您应该仅使用for循环来尝试此操作……while循环中没有增加$i,因此您总是将第一个字符与空格进行比较……如果需要,可以将
while
更改为
,虽然我不完全清楚你想要实现什么你只是想用世界上的“电影”来代替“电影”这个词的所有实例吗?谢谢。我看到我在while循环中忘记了$I。但它仍然不起作用。我将尝试使用if条件。谢谢。我也可以用str_replace来完成,但我尝试完全不使用字符串操纵函数。我更新了代码…但它仍然不起作用:(无论如何,谢谢你。这对我来说很好,我测试了它。你为什么试图避免字符串操作?因为我在做一个“像程序员一样思考”当然。这就是为什么。你说,我更新的代码对你来说很好?同时又奇怪又奇怪。因为这是一个家庭作业问题,我不能给你确切的答案。你可能应该这样处理问题。1)接下来的N个字符是否与字符串匹配?2)如果为true,则删除N个字符并替换为$replace 3)如果为false,这实际上不是“家庭作业”。这只是我买的一本书,我正在尝试的东西,我想我还不应该尝试。。。尽管如此。谢谢你的意见。