php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2006

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 20.10.2006, 11:07  
Erfahrener Benutzer
 
Registriert seit: 01.06.2004
Beiträge: 136
NetLook
Standard 2 Fragen bez. strip_tags() und schnelligkeit

Hallo!

1. Frage
In meinem Script lese ich Dateien mittels file() ein und lese diese dann Zeile für Zeile aus, dabei möchte ich HTML Tags und PHP Code mit
Code:
$zeilen = strip_tags($zeilen);
entfernen, sobald es in einer Zeile auftaucht. Dies funktioniert nur zum Teil, PHP Code wird oft nicht entfernt?! Woran könnte es liegen?

Oder wäre so was empfehlenswerter?
Code:
$new_text = preg_replace('/<[^>]+>/','',$text);

2. Frage
In dem folgenden Script werden alle Wörter aller Dateien in ein Array gepackt und mit einem Wert verglichen. Diese Ausführung dauert sehr lange. Liegt das daran das ich ein Array benutze, gibt es eine andere Lösung, um das schneller zu machen?

Code:
function Vergleich($AlleDateien,$suchwort)
{
echo "Oder meinten Sie: 
";
$AllWords = array();
	foreach($AlleDateien as $AllZeilen){
	$zeile = file($AllZeilen);
		foreach($zeile as $wort){
		// "HTML Wörter" werden in normale Wörter umgewandelt
		$CleanWort = html_entity_decode($wort);
		// Wörter der Zeile werden von Code gesäubert und dem Array zugefügt
		$CleanWort = strip_tags($CleanWort);
				// Zeile wird in einzelne Wörter zerlegt
				$EinzWoerter = split(" ",$CleanWort);
					foreach($EinzWoerter as $EinzWort) {
						$EinzWort = preg_replace('~[^\w-]~', '', $EinzWort);
						$EinzWort = trim($EinzWort);
						if($EinzWort!=""){
						array_push($AllWords,$EinzWort);
						}
					}
				}
			}
// Doppelte Werte werden aus dem Array entfernt
$AllWords = array_unique($AllWords);

// Suchwort wird mit "relevanten" Wörtern verglichen
	foreach($AllWords as $woerter){
		similar_text ($suchwort,$woerter,$prozent);
		$prozent = sprintf('%01.2f', $prozent);
		//Wenn das Suchwort im Vergleichswort enthalten ist
		//oder die Ähnlichkeit höher als 60% ist, soll das Vergleichswort als Alternative angeboten  werden
			if($prozent>60.00||preg_match("/".$suchwort."/i",$woerter)){
			echo "".$woerter."
";
				}
			}
}
__________________
Gruß
NetLook

www.werbeset.com
NetLook ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 20.10.2006, 11:35  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

file() erzeugt einen Array, dieser muss auch erstmal zeilenweise erstellt werden. Danach liest du ihn nochmal zeilenweise. Das ist eine Schleife zuviel.
Schneller wäre es, wenn du mit fopen() arbeitest.

Die Suchwörter jedes mal so "kompliziert" zu filtern ist unnötig hoher Aufwand.
Die Wörter sollten eigentlich schon optimal aufbereitet in einer Datei liegen. Falls du deine Scripte in Echtzeit durchsuchst, Cache zumindest die Suchergebnisse.
Zergling-new ist offline  
Alt 20.10.2006, 16:00  
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

schau dir mal das an, da könntest du 2 fliegen mit einer klappe... na du weißt schon...
fgetss ()
nikosch ist offline  
Alt 20.10.2006, 16:48  
Erfahrener Benutzer
 
Registriert seit: 01.06.2004
Beiträge: 136
NetLook
Standard

Ja, das hatte ich auch schon entdeckt, aber was ist mit dem PHP-Code, den ich auch nicht haben möchte. Und wenn ich die Datei Zeile für Zeile einlese und der PHP Code über mehrere Zeile verteilt ist, kann ich strip_tags() auch nicht gebrauchen

Trotzdem Danke!
__________________
Gruß
NetLook

www.werbeset.com
NetLook ist offline  
 


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
Renommee Funktion wirft Fragen... tomtaz Board-Support 11 02.07.2008 21:18
gettext, einige fragen notyyy PHP Tipps 2008 12 01.05.2008 12:09
Fragen eines Anfängers ;) ap1 PHP Tipps 2006 22 12.06.2006 20:20
Fragen zu Programmen von PHP Der Sebbel PHP Tipps 2006 6 09.06.2006 00:20
Fragen zum Suchscript Hilfloser PHP Tipps 2006 3 04.06.2006 19:34
ein paar Fragen Da-JS PHP Tipps 2006 1 08.01.2006 16:36
Datenbank fragen Off-Topic Diskussionen 8 07.11.2005 14:21
Generelle PHP Fragen Madden PHP-Fortgeschrittene 3 11.04.2005 01:24
[Erledigt] Allgemeine Anfänger Fragen PHP Tipps 2004-2 5 20.12.2004 14:57
[Erledigt] Mehrere Fragen zum drop down menu HTML, Usability und Barrierefreiheit 2 29.11.2004 23:59
[Erledigt] Mehrere Fragen zum drop down menu PHP Tipps 2004-2 1 28.11.2004 19:24
Fragen über Fragen :) Igäl PHP Tipps 2004 3 26.08.2004 08:59
Viele Fragen für einen privaten Webserver Server, Hosting und Workstations 15 18.07.2004 22:35
einige fragen! bitte um hilfe stefan-miti PHP Tipps 2004 5 18.07.2004 16:46
[Erledigt] Fragen über Fragen... wer kann helfen? PHP Tipps 2004 2 08.07.2004 21:12

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php strip_tags array, strip_tags array, strip_tags, strip_tags php, php schnelligkeit, php alternative zu strip_tags, php strip_tags alternative, php strip_tags \<2\, php array strip_tags, prozent preg_match, geschwindigkeit preg_replace array, foreach strip_tags, fragebogen zur rubrik \schnelligkeit\, was ist ein werbesetting, schnelligkeit php

Alle Zeitangaben in WEZ +2. Es ist jetzt 14:20 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

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.