2016-07-29 15 views
0

Ich möchte Inhalt aus Datei mit bestimmten Bedingungen ersetzen. Beispiel:Inhalt von Datei mit bestimmten Bedingungen ersetzen

if we have to replace LA to SF .  
if we have lable (after LA characters) - No replace 
if we have LA (after that one space) - replace 
if we have LA. (after that one dot) - replace 

PHP-Code:

<?php 

    if(isset($_POST['search']) && isset($_POST['replace'])) 
    { 

      $search = trim($_POST['search']); 
      $replace = trim($_POST['replace']); 
      $filename = 'lorem.txt'; 
      $text_content = file_get_contents($filename); 
      $contents = str_replace($search,$replace,$text_content,$count); 

      $modified_content = file_put_contents($filename,$contents); 

    } 
?> 

HTML-Code:

<!DOCTYPE html> 
<html> 
<head> 
    <title></title> 
</head> 
<body> 

<form method="post" action=""> 
<input type="text" name="search" /> 
<input type="text" name="replace" /> 
<button type="submit"> Replace </button> 

</body> 
</html> 

?> 

Ich habe versucht, mit preg_replace, aber ich habe zwei Wörter ein, die ist Suche und zweite ist Ersetzen Sie so, wie diese Art von Funktionalität mit preg_replace oder einem zu erreichen y andere Funktionen.

Antwort

1

Sie können word boundaries (\b) verwenden, um sicherzustellen, dass eine Phrase kein Unterteil eines anderen Wortes ist. Zum Beispiel

\bla\b 

werden la, mit dem i Modifikator findet es Groß- und Kleinschreibung suchen.

Regex Demo: https://regex101.com/r/bX9rD4/2

PHP Verbrauch:

$strings='if we have lable 
if we have LA 
if we have LA.'; 
echo preg_replace('/\bla\b/i', 'SF', $strings); 

PHP Demo: https://eval.in/613972

+0

groß es funktioniert perfekt .. danke Bruder für die schnelle Lösung so..much :) – Bhavin