php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Thema geschlossen
 
LinkBack Themen-Optionen Thema bewerten
Alt 16.03.2011, 14:09  
Neuer Benutzer
 
Registriert seit: 16.03.2011
Beiträge: 27
PHP-Kenntnisse:
Anfänger
Simple befindet sich auf einem aufstrebenden Ast
Standard schwierigkeiten mit preg_split()

Hallo zusammen,
ich komme einfach nicht mehr weiter mit der Funktion
Ich versuche mit der funktion preg_split() ein Wort zu trennen so das es ZWICHEN den Buchstaben trennt. Hab es mit einenm kleinen Testprogramm auch hin bekommen.

siehe:
PHP-Code:
$str 'ammaa';
$zeichen preg_split('/(?<=[aeiou]([bcdfghjklmnpqrstvwxyz]))(?=\1)/i'$str);
print_r($zeichen); 
ausgabe :
Array ( [0] => am [1] => maa )

so nun habe ich aber meine Suchkriterien vervollständigt:


PHP-Code:
$regel '/([bcdfghjklmnpqrstvwxyz]?(n[dgGkKhHj]|[Gg]n|(ndh)|(dt?h)|(ksh)|[ctTdDzs]h)?[aeiuo]{1,2})|([aeiuo]{1,2}|(n[dgGkKhHj]|[Gg]n|(ndh)|(dt?h)|(ksh)|[ctTdDzs]h)|[bcdfghjklmnpqrstvwxyz])/gi' ;

$str 'ammaa';
$zeichen preg_split($regel$str);
print_r($zeichen); 
jetzt bekomme ich als Ausgabe :
Array ( [0] => [1] => [2] => [3] => )

mein Suchkriterium ( $regel) funktioniert habe es mit einen Tool getestet

ich hab es dann auch mit den Lookbehind versucht weil das in mein TestCode auch geschrieben habe, aber dann bekomme ich eine Fehlermeldung
PHP-Code:
(?<=...) (?=) 
kann mir da jemand helfen ?? habe ich die falsche funktion angewendet??

wäre sehr dankbar
Simple ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 16.03.2011, 14:12  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

split heißt eben trennen. Warum benutzt Du nicht match_all?
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline  
Alt 16.03.2011, 15:35  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Schau dir im Handbuch die Flags an, die diese Funktion nutzen kann.
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline  
Alt 16.03.2011, 16:05  
Moderator
 
Benutzerbild von Chriz
 
Registriert seit: 11.05.2008
Beiträge: 6.268
Chriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer Anblick
Standard

Was willst du denn genau hinbekommen? Mach doch mal ein Beispiel.
__________________
"Nuschel ich?" - "Was?"
Chriz ist offline  
Alt 16.03.2011, 19:34  
Neuer Benutzer
 
Registriert seit: 16.03.2011
Beiträge: 27
PHP-Kenntnisse:
Anfänger
Simple befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
nikosch: split heißt eben trennen. Warum benutzt Du nicht match_all?
ja das genau das will ich ja erreichen TRENNEN von Wörtern ohne Buchstaben Verluste. also hab verstanden das der match_all nur nach danach sucht und nicht trennt oder hab ich das jetzt falsch verstanden?

Zitat:
Schau dir im Handbuch die Flags an, die diese Funktion nutzen kann.
hab ich schon getestet komme da leider nicht weiter.

Zitat:
Was willst du denn genau hinbekommen? Mach doch mal ein Beispiel.
Mein Ziel ist es :

1. Nach allen Vokalen zu trennen, ausser es kommen doppel Vokale vor:

bsp. blabla = bla bla, blaaablaaaa = blaa a blaa a

Regulärer Ausdruck: [aeiuo]{1,2}

2. Nach jedem Konsonant trennen, WENN vokal oder doppel Vokal
nahängt, DANN nach den vokal trennen( Siehe Regel 1)

bsp. blabla = b la b la, blaaablaaa = b laa a b laa a

Regulärer Ausdurck: [bcdfghjklmnpqrstvwxyz]?[aeiuo]{1,2}

3. Nach den Konsonanten Kombinationen :
ng, nG, nk, nK, ch , gn, Gn, nj,nd, th, Th, Dh, dh, nh, nH, ndh, dth, zh, sh,
ksh ( hier auf GROSS und KLEIN achten)
trennen, WENN Vokal oder dooppel Vokal anhängt DANN
trennen.

bsp.: ngngadhuunheendh = ng nga dhuu nhee ndh

Regulärer Ausdurck: (n[gGkKhH]|(ch)|[Gg]n|(nj)|(ndh?)|[tT]h|[dD]h|
(dth)|(zh)|(k?sh))?[aeiuo]{1,2}




hier beispiele wo alle Regel inbegriffen sind:


naangal = naa nga l
chanthiran = cha n thi ra n
Ammaa = a m maa
santhosham = sa n tho sha m

Danke
Simple ist offline  
Alt 16.03.2011, 22:31  
Moderator
 
Benutzerbild von Chriz
 
Registriert seit: 11.05.2008
Beiträge: 6.268
Chriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer Anblick
Standard

Du suchst wahrscheinlich Negative Lookahead-Assertion.
__________________
"Nuschel ich?" - "Was?"
Chriz ist offline  
Alt 16.03.2011, 22:56  
Neuer Benutzer
 
Registriert seit: 16.03.2011
Beiträge: 27
PHP-Kenntnisse:
Anfänger
Simple befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Du suchst wahrscheinlich Negative Lookahead-Assertion.
schau mal:

Zitat:
$str = 'ammaa';
$zeichen = preg_split('/(?<=[aeiou]([bcdfghjklmnpqrstvwxyz]))(?=\1)/i', $str);
print_r($zeichen);
hier habe ich positive look-behind assertion und positive look-ahead assertion stehen DAMIT klappt das ja.

aber NUR mit dem Kriterium

nur wenn ich meine Kriterien erweiter klappt nix
Simple ist offline  
Alt 16.03.2011, 23:13  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Zitat:
das will ich ja erreichen TRENNEN von Wörtern ohne Buchstaben Verluste.
Ein vollständiges Matching liefert den selben Effekt.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline  
Alt 16.03.2011, 23:27  
Neuer Benutzer
 
Registriert seit: 16.03.2011
Beiträge: 27
PHP-Kenntnisse:
Anfänger
Simple befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Ein vollständiges Matching liefert den selben Effekt.
und wie soll es klappen?? kannst du mir das erklären bzw ein kleines beispiel mal zeigen damit ich für mein code mal anwenden kann?
Simple ist offline  
Alt 16.03.2011, 23:37  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

PHP-Code:
<pre><?php


define 
('REG_EXP_CLASS_VOWEL'     '[aeiou]');
define ('REG_EXP_CLASS_CONSONANT' '[bcdfghjklmnpqrstvwxyz]');

$expr '/(' REG_EXP_CLASS_VOWEL '{1,2}|' REG_EXP_CLASS_CONSONANT '+' REG_EXP_CLASS_VOWEL '{1,2}' '|' REG_EXP_CLASS_CONSONANT '+)/i';


preg_match_all ($expr 'ngngadhuuanheendh' $found);

print_r($found);
Kannst Du Dir weiterentwickeln.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline  
Thema geschlossen


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Schwierigkeiten mit For Each Schleife phpnewbie666 PHP Einsteiger 22 14.02.2011 20:27
Schwierigkeiten beim Rang-/Punktesystem für Community JoanLeBijou Sonstige 2 18.01.2011 16:39
[Erledigt] Schwierigkeiten beim Vergleichen von 2 Arrays mathes PHP Tipps 2009 5 06.02.2009 12:05
Schwierigkeiten mit Drop Down Menü Incubi PHP Tipps 2008 1 11.08.2008 02:11
upload schwierigkeiten Kenshin PHP Tipps 2008 9 01.07.2008 12:21
Schwierigkeiten beim Datum speichern in Mysql pherfinion PHP Tipps 2005-2 1 31.08.2005 16:55
gzopen macht schwierigkeiten Andreas PHP-Fortgeschrittene 3 22.04.2005 10:37

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
preg_split php, preg_split, php preg_split, preg_split datum, php preg_split html tags, preg_split letztes zeichen, neue function preg_split, preg_split php zahlen buchstaben trennen, preg_split beschreibung, preg_split mit mehreren trennen php, preg_spilt, php preg_split look ahead, preg_split einfach, preg_split anleitung, preg_split oder, php preg_split letzte zeichen, preg_split(\,\,, \preg_split(\'.\'\, php preg_split tester, preg_split komma

Alle Zeitangaben in WEZ +2. Es ist jetzt 01:30 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum