2016-10-24 2 views
-1

Ich möchte Zeichen in einem Text wie Microsoft Word zählen.PHP Zeichenanzahl ohne Leerzeichen und HTML-Tags

<p><b>Lorem Ipsum</b> is simply dummy text of the printing and typesetting industry.Tom's farm. 12th century.</p> 

12. -> 'th' ist ein Sonderzeichen, unter der Nummer 12.

Wie kann ich tun, dass in PHP?

+0

Streifen Sie die Tags und Whitespace dann zählen. Ich verstehe nicht, was du mit "th" und "12" meinst. Beispiel: https://eval.in/665455. – chris85

+0

Ich kann deine Frage nicht genau verstehen. Kannst du ein Beispiel zeigen? – Mohammad

+0

Warum willst du etwas so Einfaches mit PHP machen? Sie könnten stattdessen Jquery verwenden. PHP-Server-Side-Scripting Sie müssen nicht einfache Dinge wie diese mit php tun manchmal –

Antwort

0

Meine Lösung ist;

$content = 'Some Text...'; 

    $trim = strip_tags($content); 
    $trim=str_replace([" ","\n","\t","&ndash;","&rsquo;","&#39;","&quot;","&nbsp;"], '', $trim); 

    $totalCharacter = strlen(utf8_decode($trim)); 
0

Wenn ein Unicode-Zeichen vorhanden ist, zählt Strlen es wahrscheinlich als zwei Zeichen. Dann sollten Sie sich vielleicht mb_strlen ansehen.

+0

'th' ist kein Multibyte-Zeichen (oder nicht im mitgelieferten Beispiel). Auch Regex würde schneller mit Quantifikator verarbeiten, denke ich. – chris85

+0

aber vielleicht bekommt er den Text von irgendwo und wusste einfach nicht, wie man es hier zeigt. Ich habe es gerade erwähnt, für den Fall, dass er Multibyte-Zeichen verwenden wird. Da ich kein Experte in Regexes bin. Du meinst mit würde schneller verarbeiten? preg_replace ("/ \ s * /", "", $ string); – alexandre

+0

Ja '*' oder '+'. Mit dem einzelnen Zeichen ersetzen Sie sie alle einzeln. 'mb_strlen' und' strlen' zählen "th" als 2 Zeichen, weil es 2 Zeichen sind. – chris85

Verwandte Themen