2016-09-30 4 views
-4

Ich möchte eine String ersetzen auf eine Variable, die Benutzereingabe. Darf ich wissen, wie ich will, dass es auf der Saite akzeptiert ('). Sagen wir zum BeispielPHP - Ersetzen String auf Array

$string = ' *this* is 'a' test' '; 
$regexes = array('/~(.*?)~/six','/\*(.*?)\*/six'); 
$replaces = array('<i>$1</i>','<b>$1</b>'); 
$new_string = preg_replace($regexes, $replaces, $string); 

echo $new_string; 

Ich kann es fett und kursiv Text machen zu ändern, aber wenn die Zeichenfolge ‚hat‘ ‚‘, wird es einen Fehler geben. Wie möchte ich das erreichen?

+0

http://parsedown.org/ - Setzen Sie das Rad nicht neu erfinden! –

+1

Verwenden Sie 'addslashes ($ string)'; –

+0

Leute, die du meinst: preg_quote() ich vermute)) – Deep

Antwort

1

Dies kann Ihnen helfen, verwenden Sie addslashes und stripslashes wie erforderlich.

<?php 
$string = " *this* is 'a' test' "; 
$string = addslashes($string); 
$regexes = array('/~(.*?)~/six','/\*(.*?)\*/six'); 
$replaces = array('<i>$1</i>','<b>$1</b>'); 
$new_string = preg_replace($regexes, $replaces, $string); 
echo stripslashes($new_string); 
?> 

Diese Ausgänge: diese ist 'a' test‘

+1

danke für die Hilfe! Es klappt – Amran