Ich habe Texte in UTF-8 mit diakritischen Zeichen auch, und möchte überprüfen, ob der erste Buchstabe dieses Textes Groß-oder Kleinbuchstaben ist. Wie macht man das?Wie überprüft man, ob der Buchstabe in PHP höher oder niedriger ist?
Antwort
function starts_with_upper($str) {
$chr = mb_substr ($str, 0, 1, "UTF-8");
return mb_strtolower($chr, "UTF-8") != $chr;
}
anzumerken, dass mb_substr ist notwendig, um richtig um das erste Zeichen zu isolieren.
danke, deine Antwort ist richtig. Sie können $ str [0] nicht für UTF-8-Strings verwenden. –
Funktioniert nicht immer. Es gibt Unicode-Zeichen, die Großbuchstaben (d. H. Kategorie Lu) sind, aber keine Kleinbuchstaben-Zuordnung haben. Meistens die mathematisch fett/kursiv/doppelt gedrückten Buchstaben. – dan04
@ dan04 Das ist ein ausgezeichneter Punkt. Darüber hinaus gibt es Title Case (LT).Die MBString-Erweiterung stellt Funktionen jedoch nicht dem Benutzerbereich zur Verfügung, um nach diesen Eigenschaften zu suchen. Es ist schade, weil die Funktionalität dort ist - siehe http://svn.php.net/viewvc/php/php-src/trunk/ext/mbstring/php_unicode.h?revision=296679&view=markup – Artefacto
Versucht?
$str = 'the text to test';
if($str{0} === strtoupper($str{0})) {
echo 'yepp, its uppercase';
}
else{
echo 'nope, its not upper case';
}
Was bedeutet $ str {0}? Ich kenne diese Notation nicht ... –
$ str {0} ist dasselbe wie $ str [0]. Manchmal ist substr (string, start, length) nützlich, wenn Start oder Länge negativ sind. – karmakaze
Beachten Sie, dass PHP die ctype
Familie wie ctype_upper bereitstellt.
Sie müssen das Gebietsschema korrekt über setLocale() zuerst setzen, um es mit UTF-8 zu arbeiten.
Siehe den Kommentar auf ctype_alpha zum Beispiel.
Verbrauch:
if (ctype_upper($str[0])) {
// deal with 1st char of $str is uppercase
}
Ich wollte nicht, dass Zahlen und andere ein oberes Zeichen sein, also ich benutze:
if(preg_match('/[A-Z]$/',$char)==true)
{
// this must be an upper char
echo $char
}
Verwenden ctype_upper
für die Check Großbuchstaben:
$a = array("Word", "word", "wOrd");
foreach($a as $w)
{
if(ctype_upper($w{0}))
{
print $w;
}
}
Dies funktioniert nicht mit nicht-lateinischen Zeichen, wie der nordischen ÆØÅ. – qualbeen
Was ist mit nur:
if (ucfirst($string) == $string) {dosomething();}
Wenn Sie es in einer netten Funktion wollen, habe ich benutzten:
function _is_upper ($in_string)
{
return($in_string === strtoupper($in_string) ? true : false);
}
Dann rufen Sie einfach ..
if (_is_upper($mystring))
{
// Do....
}
if(ctype_upper(&value)){
echo 'uppercase';
}
else {
echo 'not upper case';
}
Wie in Kohana 2 Autoloader-Funktion verwendet:
echo $char < 'a' ? 'uppercase' : 'lowercase';
Wenn ein String-Zeichen in Intege umgewandelt wird r es bewertet seine ASCII-Nummer. Wie Sie in der ASCII-Tabelle zuerst wissen, gibt es einige Steuerzeichen und andere. Dann die Großbuchstaben aus dem lateinischen Alphabet. Und dann die Kleinbuchstaben aus dem lateinischen Alphabet. So können Sie leicht überprüfen, ob der Code eines Buchstabens kleiner oder größer als der kleine lateinische Buchstabe a
ist.
BTW das ist etwa doppelt so schnell wie eine Lösung mit regulären Ausdrücken.
Dies funktioniert jedoch nur mit lateinischen Zeichen. –
das ist das schnellste sogar in utf –
- 1. Ist ALS.checkpointInterval höher oder niedriger?
- 2. Wie überprüft man, ob die Eingabe Buchstabe C ist?
- 3. Wie überprüft man, ob Graphem ein Buchstabe ist?
- 4. Wie überprüft man, ob ein Zeichen in einem String ein Buchstabe ist? Python
- 5. Wie überprüft man, ob eine Domain punycode ist oder nicht?
- 6. Wie überprüft man, ob Suhosin installiert ist?
- 7. Ist es schneller zu finden, ob ein Buchstabe ein Buchstabe ist, oder Parse und Integer?
- 8. SmartGWT - Wie überprüft man, ob ListGridRecord erweitert oder minimiert ist?
- 9. Wie überprüft man, ob die URL der Seite www drin ist oder nicht mit PHP?
- 10. Wie überprüft man, ob App cpu-gebunden oder speichergebunden ist?
- 11. Wie überprüft man, ob ein Datum abgelaufen ist (PHP)
- 12. Wie überprüft man, ob php: // Eingabe gesetzt ist?
- 13. Wie überprüft man, ob die Schnittstelle ist
- 14. Wie überprüft man, ob eine Datei gesperrt ist oder nicht?
- 15. Wie überprüft man, ob Javascript deaktiviert ist?
- 16. Wordpress Wie überprüft man, ob es POST oder PAGE ist
- 17. Wie überprüft man, ob ein Parameter wahr oder falsch ist?
- 18. Wie kann man feststellen, ob ein Buchstabe ein Buchstabe in Java ist?
- 19. Wie überprüft man, ob ein div vorhanden ist oder nicht?
- 20. Wie überprüft man, ob WiFi verbunden ist oder nicht?
- 21. Wie überprüft man, ob das Feld leer oder leer ist?
- 22. Wie überprüft man, ob eine Variable Array oder Objekt ist?
- 23. Wie überprüft man, ob TextView leer ist?
- 24. Wie überprüft man, ob der Sockel in Boost.Asio geschlossen ist?
- 25. Wie überprüft man, ob der Code in NgZone ist?
- 26. Wie überprüft man, ob ein Zeitversatz in der Sommerzeit ist?
- 27. Wie überprüft man, ob ein Datensatz in Laravel neu ist?
- 28. Wie überprüft man, ob ContentPlaceHolder leer ist?
- 29. Wie überprüft man, ob "Radiobutton" aktiviert ist?
- 30. Wie überprüft man, ob mithril.js geladen ist?
@Elizabeth Buckwalter Warum was? –
Warum möchten Sie überprüfen, ob ein Buchstabe höher oder niedriger ist? –
@Elizabeth Buckwalter Weil ich anderen Text aus diesem Text ausarbeite, und wenn dieser erste Buchstabe höher ist als ich muss das gleiche mit dem zweiten tun. –