2016-06-07 4 views
0

bekam ich ein paar Saiten wie diese:Wie wird ein bestimmtes Symbol in Klammern gesetzt?

(50 μg/ml); (10, 20, 30, 40, 50, 60 μg/ml) (sub-diploid DNA fraction) (p<0.05) 

Was will ich mit PHP zu tun, jetzt ist die „<“ in den letzten Klammern zu ersetzen, so dass es aussehen wird:

(p&#60;0.05) 

Ich wurde wirklich müde und frustriert vom googlen, also bitte hilf mir damit. Benötigen Sie nur eine PHP Preg Replace-Funktion, die die weniger als und größer als Symbole in Klammern eines Strings findet und ersetzen Sie es mit seinem ASCII-Code.

+0

Verwenden 'echo htmlentities (str_replace ("<", "<", $ str)); ' – Thamilan

+0

können Sie die vollständige Syntax des preg_replace dafür anzeigen (50 μg/ml); (10, 20, 30, 40, 50, 60 μg/ml) (sub-diploide DNA-Fraktion) (p <0,05) –

+0

Ich versuchte preg_replace ("# \ ((. DarkHorse

Antwort

0

Hoffe, das ist Arbeit.

$str="p&#60;0.05"; 
$s1=html_entity_decode(str_replace("<", "&#60;", $str)); 
echo $s1; 

Oder

$s1 = html_entity_decode($str); 
+1

Ich bereits gesagt, was ist, wenn die Zeichenfolge HTML-Tags darin enthält.Ihre Lösung wird auch die größeren als und weniger als Symbole zugeordnet ersetzen mit HTML-Tags. Ich habe es versucht. Das gleiche passiert, ich möchte reguläre Ausdrücke suchen und ersetzen. @ Yagnik Detroja – DarkHorse

0

Wie wäre:

$str = '(50 > µg/ml); (10, 20, 30, 40, 50, 60 µg/ml) (sub-diploid DNA fraction) (p<0.05)'; 
$str = preg_replace('/(\([^<]+)<([^)]+\))/', '$1&#60;$2', $str); 
$str = preg_replace('/(\([^>]+)>([^)]+\))/', '$1&#62;$2', $str); 
echo $str; 

Ausgang:

(50 &#62; µg/ml); (10, 20, 30, 40, 50, 60 µg/ml) (sub-diploid DNA fraction) (p&#60;0.05) 
+0

Es funktioniert. Aber können wir die Regex nicht spezifischer machen, so dass sie nicht nach einem bestimmten Muster in Klammern sucht. Ich meine, es ersetzt alle Zeichen, die kleiner oder größer als das Zeichen sind. Was Sie getan haben, ist ein Muster zwischen zwei Arten von Sätzen angegeben. @Toto – DarkHorse

+0

@DarkHorse: Bitte bearbeiten Sie Ihre Frage und fügen Sie einige Beispieleingabezeichenfolgen und erwartetes Ergebnis hinzu. – Toto

+0

Das ist gerade. Ich möchte alle größeren als und kleiner als Symbole in Klammern in meiner Zeichenfolge ersetzen. @Toto – DarkHorse

Verwandte Themen