Antworten auf deine Fragen:
Neues Thema erstellen

Antworten zum Thema „bestimmte worte aus string auslesen...“

K

king_jules

Guest

ok ich habe also ein string $text = "das ist ein test blablabla hochhaus ok blume welt test";

jetzt habe ich z.b. einen filter mit folgenden begriffen festgelegt $filter = array("test", "hochhaus", "nulpe");

und die worte welche sich im filter befinden sollen aus dem string ausgelesen, ausgegeben und gezaehlt werden ohne den restlichen text anzuzeigen... wobei das zaehlen erstmal zweitrangig ist...

ich habe jetzt den string in ein array gesplittet $new_text = split(" ","$text");

komm da aber irgendwie nicht weiter... vielleicht kann mir da jemand von euch ein bisschen unter die arme greifen :)
 

progfrog

programming & 3d

AW: bestimmte worte aus string auslesen...

Moin king_jules,
ich denke diese Funktion wäre was für dich:

;
"Die Funktion substr_count() ermittelt, wie oft needle in dem String haystack vorkommt, und gibt die Anzahl der Vorkommen zurück."

Könnte dann in etwa so aussehen.
PHP:
<?php
  $text = 'das ist ein test blablabla hochhaus ok blume welt test';
  $filter = array('test', 'hochhaus', 'nulpe');

  foreach ($filter as $element) {
    echo 'Der Sting "'.$element.'" kommt '.substr_count($text, $element).' mal im Text vor.<br />';
  }
?>
Ich habe es getestet und es funktioniert.

Gruß progfrog
 
Zuletzt bearbeitet:

chillyorker

Weiß_Nix

AW: bestimmte worte aus string auslesen...

Hallo,

habe noch was für dich! Ich benutze dies um einen Filter zu programmieren bei Gästebücher, Kontakt aufnahmen oder in Foren:

Hier die Doku:
PHP: strstr - Manual

Mit einer Foreach-Schleife bekommst du alles was du willst!
Der Vorteil - das die O-Notation, sprich die Laufzeit, höher ist, bzw. schneller ist!

Aber, uninteressant, weil es spielt es alles im Millisekunden-Bereich ab!

Ist nur eine weitere Möglichkeit! Der Vorschlag von ProgFrog ist ebenso perfekt zu verwenden!

Mit anderen Worten: Das selbe in Grün! ;-)
 
K

king_jules

Guest

AW: bestimmte worte aus string auslesen...

ok soweit sieht das alles super aus... hat mich alles ziemlich weitergebracht, danke dafuer!!!
 
Zuletzt bearbeitet von einem Moderator:

Christian

verpeilt & verschallert

AW: bestimmte worte aus string auslesen...

PHP:
<?
/**
 * gültig auf Muster : 20.09.2008 - 19:50 <user34> wat laberst du
 *
 * @param mixed $str_input
 * @param mixed $search_string
 * @return mixed search_result
 */
function logfind( $str_input, $search_string ){
	$return = array();
	
	if(is_array($str_input)){
		foreach($str_input as $line){
			$raw_split = preg_split('![ ]?<([\w|\d|-|_]*?)> !i',$line); #Gültig auf Benutzernamen im IRC mit Zeichen: Buchstaben Zahlen _ -
			$time = $raw_split[0];
			$text = $raw_split[1];
			if(is_array($search_string) && sizeof($search_string) > 0){
				foreach($search_string as $search){
					if(($substrcount = substr_count( $line, $search )) > 0){
						$return[] = array('string_found'=>$search,'time'=>$time,'count'=>$substrcount,'highlighted_string'=>str_replace($search,'<font color="red">'.$search.'</font>',$text));
					}
				}
			}else{
				if(($substrcount = substr_count( $line, $search_string )) > 0){
					$return[] = array('string_found'=>$search_string,'time'=>$time,'count'=>$substrcount,'highlighted_string'=>str_replace($search_string,'<font color="red">'.$search_string.'</font>',$text));
				}
			}
		}
		return $return;
	}else{
			$raw_split = preg_split('![ ]?<([\w|\d|-|_]*?)> !i',$str_input); #Gültig auf Benutzernamen im IRC mit Zeichen: Buchstaben Zahlen _ -
			$time = $raw_split[0];
			$text = $raw_split[1];
			if(is_array($search_string) && sizeof($search_string) > 0){
				foreach($search_string as $search){
					if(($substrcount = substr_count( $text, $search )) > 0){
						$return[] = array('string_found'=>$search,'time'=>$time,'count'=>$substrcount,'highlighted_string'=>str_replace($search,'<font color="red">'.$search.'</font>',$text));
					}
				}
			}else{
				if(($substrcount = substr_count( $text, $search_string )) > 0){
					$return[] = array('string_found'=>$search_string,'time'=>$time,'count'=>$substrcount,'highlighted_string'=>str_replace($search_string,'<font color="red">'.$search_string.'</font>',$text));
				}
			}
			return $return;
	}
	return "-1";
}
print_r(logfind(array('20.09.2008 - 19:50 <user34> wat laberst du','20.09.2008 - 19:50 <user34> wat laberstlaberstlaberstlaberst'),'laberst'));
erzeugt folgende Ausgabe:
Code:
Array
(
    [0] => Array
        (
            [string_found] => laberst
            [time] => 20.09.2008 - 19:50
            [count] => 1
            [highlighted_string] => wat <font color="red">laberst</font> du
        )

    [1] => Array
        (
            [string_found] => laberst
            [time] => 20.09.2008 - 19:50
            [count] => 4
            [highlighted_string] => wat <font color="red">laberst</font><font color="red">laberst</font><font color="red">laberst</font><font color="red">laberst</font>
        )

)

Anweden kannst Du sie wie folgt:
PHP:
$file = file('Datei/Pfad.txt');
$Suchparameter = array('wat','laberst','du');
print_r(logfind($file, $Suchparameter));
ODER SO
PHP:
$str = '20.09.2008 - 19:50 <user34> wat laberst du' #geht dann allerdings nur für eine Zeile
$SuchParameter = 'laberst';

print_r(logfind($str, $SuchParameter));

Edit:
Ach im Negativ Fall wird die Funktion ein -1 zurückgeben

Mfg und ich hoffe, ich konnte Dir helfen
 
K

king_jules

Guest

AW: bestimmte worte aus string auslesen...

danke, interessante version!
 
Zuletzt bearbeitet von einem Moderator:
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Statistik des Forums

Themen
174.484
Beiträge
2.578.032
Mitglieder
65.981
Neuestes Mitglied
bruns
Oben