MyBB.de Forum
[PHP] String nach dem 2. Punkt löschen - Druckversion

+- MyBB.de Forum (https://www.mybb.de/forum)
+-- Forum: Sonstiges (https://www.mybb.de/forum/forum-1.html)
+--- Forum: Programmierung (https://www.mybb.de/forum/forum-32.html)
+--- Thema: [PHP] String nach dem 2. Punkt löschen (/thread-16550.html)



[PHP] String nach dem 2. Punkt löschen - Waluigi - 19.07.2010

Hallo liebe Mybb-Community,

ich habe ein kleineres Problem, zudem ich leider nicht weiß, wie ich das anstelle.

Ich habe einen String, zum Beispiel folgenden:

Code:
Dies ist ein String. Er ist schön. Doch dieser Part soll jetzt weg sein.

Wie lasse ich alles nach dem 2. Punkt löschen?

Wäre euch sehr dankbar.


RE: [PHP] String nach dem 2. Punkt löschen - Michael - 19.07.2010

Wie variabel soll das Ganze denn sein? Eine Möglichkeit:
PHP-Code:
<?php
$string 
"Dies ist ein String. Er ist schön. Doch dieser Part soll jetzt weg sein.";
$parts explode('.'$string);
$counter count($parts) - 2;

for(
$i 0$i $counter$i++)
{
    
$newstring .= $parts[$i].".";
}

echo 
$newstring;
?>



RE: [PHP] String nach dem 2. Punkt löschen - querschlaeger - 19.07.2010

Ich hab heut mal nen guten Tag (Nacht?)...

PHP-Code:
$string 'Dies ist ein String. Er ist schoen. Doch dieser Part soll jetzt weg sein.';
$search '.';
$limit 2;

echo 
my_strcut($string$search$limit);

function 
my_strcut($haystack$needle$count)
{
    
$length 0;
    for(
$i 1$i <= $count$i++)
    {
        
$search strpos($haystack$needle$length);
        if(
$search !== false)
        {
            
$length $search 1;
        }
    }
    if(
$length != 0)
    {
        
$substring substr($haystack0$length);
    }
    else
    {
        
$substring $haystack;
    }
    return 
$substring;


Prüfung auf die Variablen nicht inbegriffen. Wenn du weißt was du tust, ist es evtl. egal. Kommen die Daten aber aus einer externen Quellem solltest du $string, $search und $limit noch auf Gültigkeit prüfen.

EDIT: Oh, Michael war schneller... Dafür habe ich mit Absicht auf explode() und ein Array verzichtet. Wink