| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |

12-10-2009, 12:53
|
|
mikkes
Registrierter Benutzer
|
|
Registriert seit: Oct 2009
Beiträge: 4
|
|
string zerlegen probleme, denkfehler ?!
hallo gemeinde, ich hab einen string und möchte den vorderen teil bis zu einem bestimmten teil im string abschneiden, anschliessend ab ner bestimmten stelle bis zum schluss abschneiden. meine bisherigen lösung funktioniert zwar, aber kann sich die länge des strings ändern und da hab ich eben ein problem, weiss nicht wie ich das lösen soll, bastel da nun schon seit tagen mit sämtlichen string-funktionen rum. hat jemand nen tipp?
Code:
<?php
$data = "ganz ganz langer string";
$count = strpos($data,"</H2>");
$count = $count + 64;
$text = substr($data, $count);
$textx =substr($text, 0, -158);
//$text = substr_count($data,"</H2>");
//$text = substr($data, 1079, 3225);
$textx = utf8_decode($textx);
echo $textx;
?>
|

12-10-2009, 13:03
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Hallo,
bitte konkretisier doch das Problem mal mit einem Beispielstring. Wenn das was du hinten abschneiden willst, eine unterschiedliche Länge hat, muss es ja einen bestimmten Substring geben, an dem du erkennst, dass ab dort alles weg kann. Diese Stelle kannst du wieder mit strpos oder strrpos ermitteln. Eventuell lohnt es sich auch, sich mal mit Regulären Ausdrücken zu beschäftigen.
Gruß,
Amica
|

12-10-2009, 13:05
|
|
Gunah
Registrierter Benutzer
|
|
Registriert seit: Oct 2009
Beiträge: 87
|
|
ich denke das er auch probleme mit MultiByte hat...
da er am Schluss, alles zu ISO-8859-1 Konvertiert...
das heißt für mich die Daten liegen in UTF-8 vor...weshalb es schon mit substr usw. Probleme gibt... (Umlaute/Sonderzeichen etc.)
|

12-10-2009, 13:48
|
|
mikkes
Registrierter Benutzer
|
|
Registriert seit: Oct 2009
Beiträge: 4
|
|
ich lese ne webseite aus und vor und nach dem text den ich brauche ist zeugs das ich ned brauche unter anderem vor dem text ein image und danach auch. da sich die textlänge aber evtl. ändert kann ich das so wie ich das gemacht habe, eben leider nicht machen denke ich.
sollte ich vorher die codeumwandlung machen? meine webseite ist im ISO-8859-1 format und die daten der anderen webseite eben im UTF-8
|

12-10-2009, 13:51
|
|
Gunah
Registrierter Benutzer
|
|
Registriert seit: Oct 2009
Beiträge: 87
|
|
besser wäre das, oder du musst auf diese Funktionen zurückgreifen:
PHP: Multibyte String Functions - Manual
Gruß
Gunah
|

12-10-2009, 13:51
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Das Problem im Allgemeinen war verständlich und eine allgemeine Antwort hast du bereits erhalten.
Wenn du konkrete Hilfe möchtest:
Zitat:
Zitat von AmicaNoctis
bitte konkretisier doch das Problem mal mit einem Beispielstring.
|
Zitat:
Zitat von mikkes
sollte ich vorher die codeumwandlung machen?
|
Ja.
|

12-10-2009, 14:23
|
|
mikkes
Registrierter Benutzer
|
|
Registriert seit: Oct 2009
Beiträge: 4
|
|
na was nützt es denn wirklich wenn ich den string poste, kann ich nicht, denn ich lese mit file_get_contents ne url aus und in dem string sind dann die daten und da möchte ich eben nur das rausschneiden was ich brauche, bzw. das was ich nicht brauche vorne und hinten weg
kuckst du hier: http://bergwetter.alpenverein.de/gesamtalpen_dav.html, diese webseite lese ich aus und da möchte ich den ersten teil bis ALPENWETTER löschen und dann das bild unten
Geändert von mikkes (12-10-2009 um 14:30 Uhr)
|

12-10-2009, 14:36
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Zitat:
Zitat von mikkes
na was nützt es denn wirklich wenn ich den string poste
|
Das nützt dir insofern, dass man dir dann konkret helfen könnte:
PHP-Code:
$contents = file_get_contents("http://bergwetter.alpenverein.de/gesamtalpen_dav.html"); $parts = preg_split("#<H2>ALPENWETTER</H2>|<img#", $contents); $text = isset($parts[3]) ? trim($parts[3]) : "";
oder auch so, das ist noch ein bisschen schneller:
PHP-Code:
$contents = file_get_contents("http://bergwetter.alpenverein.de/gesamtalpen_dav.html"); $parts = explode("<H2>ALPENWETTER</H2>", $contents, 2); $text = isset($parts[1]) ? trim($parts[1]) : ""; $parts = explode("<img", $text, 2); $text = trim($parts[0]);
Geändert von AmicaNoctis (12-10-2009 um 14:42 Uhr)
|

12-10-2009, 14:45
|
|
mikkes
Registrierter Benutzer
|
|
Registriert seit: Oct 2009
Beiträge: 4
|
|
ah, es funzt!  vielen dank für die hilfe! auf die lösung wär ich ja nie gekommen!
|

16-06-2010, 13:14
|
|
Dampfi
Registrierter Benutzer
|
|
Registriert seit: Jun 2006
Ort: Dresden
Beiträge: 59
|
|
Ich habe per SuFu einen passenden Threa gefunden und hole ihn deswegen mal hoch... Ich hoffe man vergibt mir...
Ich benötige im Prinzip exakt das gleiche, nur irgendwie krieg ich das nicht hingefummelt
Zum Problem:
Ich habe einen String mit variabler Länge, z.B.
PHP-Code:
$string = 'Dies ist der Text mit meinem Suchbegriff der aus der Datenbank kommt'
Über ein Eingabefeld gebe ich dem User eine Mgl. nach einem Wort in diesem String zu suchen. Nehmen wir an, der User will den String nach dem Wort "Suchbegriff" suchen. Er gibt es ein und ich nehme den Suchbegriff entgegen. Um diesen farblich hervorzuheben fürge ich ein wenig Code der Variable $suchbegriff hinzu, es ergibt sich folgender Code:
PHP-Code:
$suchbegriff = '<span style="background-color:#FF0000;"><font color="#FFFFFF"><b>'.$_suchbegriff.'</b></font></span>'
Jetzt möchte ich den String so beschneiden, dass ich VOR und NACH $suchbegriff 5 Zeichen ausgebe, alles andere soll weggeschnitten werden. Am Ende möchte ich also folgenden Wert in der Variable $string stehen haben:
PHP-Code:
$string = 'inem Suchbegriff der ';
Der Suchbegriff sollte jetzt farblich hervorgehoben sein und jeweils 5 Zeichen links und rechts davon mit ausgeben - der Rest fliegt raus...
Ich fummel hier hin und her und irgendwie seh ich grad den Wald vor lauter Bäumen nicht. Ich glaube das ist zu trivial um selbst drauf zu kommen
Kann mir jemand helfen? Vielen Dank
|

16-06-2010, 14:19
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Hallo,
woran scheitert es denn? Kennst du strip_tags schon?
Gruß,
Amica
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

22-06-2010, 07:06
|
|
eagle275
Registrierter Benutzer
|
|
Registriert seit: Jun 2010
Beiträge: 371
|
|
Zitat:
Zitat von Dampfi
PHP-Code:
$string = 'Dies ist der Text mit meinem Suchbegriff der aus der Datenbank kommt'
...
PHP-Code:
$suchbegriff = '<span style="background-color:#FF0000;"><font color="#FFFFFF"><b>'.$_suchbegriff.'</b></font></span>'
|
hm ... da ist doch alles was du brauchst ..
PHP-Code:
$test=substr($string,strpos($string,$_suchstring)-5,5).$suchbegriff.
substr($string,strpos($string,$_suchstring)+strlen($_suchstring),5);
// der Teilstring beginnt an der Fundstelle - 5 Zeichen ...+ die 5 Zeichen
//... dann wird statt des ursprünglichen Suchbegriffs deine formatierte variante genommen
// und am ende die 5 Zeichen angehängt, die in deinem Text nach dem Suchbegriff folgen
Geändert von eagle275 (22-06-2010 um 07:13 Uhr)
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
Ähnliche Themen
|
| Thema |
Autor |
Forum |
Antworten |
Letzter Beitrag |
|
string zerlegen
|
WhiZZler |
PHP Developer Forum |
1 |
11-02-2004 18:29 |
|
String zerlegen
|
jogisarge |
PHP Developer Forum |
4 |
16-01-2004 15:50 |
|
String zerlegen
|
mccab99 |
PHP Developer Forum |
2 |
29-07-2003 15:08 |
|
String zerlegen
|
LittleCoder |
PHP Developer Forum |
2 |
23-03-2003 17:40 |
|
String zerlegen
|
Heiner |
PHP Developer Forum |
6 |
23-10-2002 12:36 |
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|