Ich möchte alle nicht arabischen, nicht englischen und nicht-numerischen Zeichen aus einer Zeichenfolge entfernen, mit Ausnahme von Bindestrichen (-).Nicht alphanumerische Zeichen aus dem Arabischen entfernen UTF8 + Englische Zeichenfolge
schaffte ich es für nicht Englisch alphanumerische Zeichen wie dies zu tun:
$slug = ereg_replace('\p{InArabic}', '', $string);
aber es hat nicht den Streifen:
$slug = ereg_replace('[^A-Za-z0-9-]', '', $string);
Aber für nicht arabisch alphanumerische Zeichen i es, wie dies zu tun versucht, nicht alphanumerische Zeichen! Ich versuchte auch this answer, aber es funktionierte auch nicht, es gibt immer '0' zurück !!
$slug = preg_replace('/[^\x{0600}-\x{06FF}A-Za-z0-9-]/u','', $string);
Hoffentlich kann mir jemand helfen.
'ereg_replace' veraltet. Die Regex mit 'preg_replace' sollte funktionieren. Können Sie Beispielzeichenfolgen bereitstellen, in denen es nicht funktioniert? – Toto
Was ist die Ausgabe von 'preg_last_error()'? Das Code-Snippet funktioniert. –
Danke M42, das mit Hilfe von "xdazz" funktioniert hat, vielen Dank euch allen. –