<?php $offset = 0; if ( isset($_POST['text']) && isset($_POST['searchfor']) && isset($_POST['replacewith']) ) { $text = $_POST['text']; $searchfor = $_POST['searchfor']; $replacewith = $_POST['replacewith']; $search_length = strlen($searchfor); if (!empty($text) && !empty($searchfor) && !empty($replacewith)) { while ($stringpos = strpos($text, $searchfor, $offset)) { echo $stringpos.'<br/>'; echo $offset = $stringpos + $search_length.'<br/>'; } } else{ echo "There Mustn't be any Void Space in the Field."; } } ?> <form action="index.php" method="POST"> <textarea name="text" placeholder="Enter the MSG here" rows="6" cols="30"></textarea><br/><br/> <input type="text" name="searchfor" class="search" placeholder="Search for"><br/><br/> <input type="text" name="replacewith" class="replace" placeholder="Replace with"><br/><br/> <input type="submit" value="Find and Replace"> </form>
Это то, где у меня возникает проблема с получением ошибки всякий раз, когда я помещаю значение для поиска.
while ($stringpos = strpos($text, $searchfor, $offset))
Примечание. Неверно сформированное числовое значение, встречающееся в C: \ xampp \ htdocs \ Space \ Find \ index.php в строке 21
кто-нибудь, пожалуйста, помогите мне здесь, любая помощь будет оценена по достоинству.
$ offset должно быть численным, но вы присваиваете ему строку в самом себе:
echo $offset = $stringpos + $search_length.'<br/>';
После этой строки $offset
больше не является числом, а второй раз выполняется время, вы получите это уведомление