Zeichenbegrenzung

Hallo,

ich möchte auf einer Affiliate-Seite die Produktionformationen von Amazon mit einem Script auslesen. Das sieht so aus:
</div>
<div>
<p style="padding-bottom: 2px; margin-bottom: 0;"><a href="{$AmazonUrl}" target="_blank">{$Title}</a></p>
<p style="padding-bottom: 2px; margin-bottom: 0;">{$ProductDescription}</p>
<p style="padding-bottom: 2px; margin-bottom: 0;">{$RatingStars} ({$TotalReviews} Kundenmeinung(en))</p>
</div>

Bei der 2. Zeile {$ProductDescription} möchte ich die Ausgabe Beschreibung auf 50 Zeichen begrenzen. Wie müsste ich den Code dahingehend abändern?

Vielen Dank für eure Hilfe!
Difi
 
HAllo Verflow,

danke für deine Antwort. Ich habe leider keine Ahnung davon... Muss es ungefähr so aussehen:
<div>
<p style="padding-bottom: 2px; margin-bottom: 0;"><a href="{$AmazonUrl}" target="_blank">{$Title}</a></p>
<?php
$foo = 20;
echo "Length: " . strlen($foo) . "<br>";
<p style="padding-bottom: 2px; margin-bottom: 0;">{$ProductDescription}</p>
<p style="padding-bottom: 2px; margin-bottom: 0;">{$RatingStars} ({$TotalReviews} Kundenmeinung(en))</p>
</div>
<div style="clear: both;"></div>
 
PHP:
<p style="padding-bottom: 2px; margin-bottom: 0;"><a  href="{$AmazonUrl}" target="_blank">{$Title}</a></p>	
<p style="padding-bottom: 2px; margin-bottom:0;">
	<?php
	if(strlen($ProductDescription)>50) {
		echo substr($ProductDescription, 0, 46) . "...";
	}else{
		echo $ProductDescription;
	}
	?>
</p>
<p style="padding-bottom: 2px; margin-bottom: 0;">{$RatingStars} ({$TotalReviews} Kundenmeinung(en))</p>

Deine Schreibweise für die Variablen {$variable} deutet allerdings auf eine Template-Engine hin. In diesem Fall müsstest du den Code nicht ins Template packen, sondern zum restlichen PHP Code der Seite, in dem du genau diese Variablen verarbeitest:
PHP:
<?php
if(strlen($ProductDescription)>50) {
	$ProductDescription = substr($ProductDescription, 0, 46) . "...";
}
?>

Alternativ wäre natürlich auch eine Javascript-Lösung möglich: http://www.w3schools.com/jsref/jsref_substring.asp

Edit:
Liege ich mit der Annahme richtig, dass es sich um das Wordpress-Plugin AmazonSimpleAdmin handelt?
 
Zuletzt bearbeitet:
Hallo SchwarzeBeere,

richtig, es handelt sich um das Plugin AmazonSimpleAdmin. Jetzt habe ich, denke ich zumindest, die Datei gefunden wo die Placeholder verarbeitet werden:

protected $tpl_placeholder = array(
'ASIN',
'SmallImageUrl',
.
.
.
'RunningTime',
'Format',
'CustomRating'
'ProductDescription',
Und hier müsste ich jetzt (bei ProductDescription) deinen Code
<?php
if(strlen($ProductDescription)>50) {
$ProductDescription = substr($ProductDescription, 0, 46) . "...";
}
?>
irgendwo einfügen?

Difi
 
Nein. Vielleicht machst du es doch einfach mit Javascript...

HTML:
<p style="padding-bottom: 2px; margin-bottom: 0;"><a  href="{$AmazonUrl}" target="_blank">{$Title}</a></p>
<p style="padding-bottom: 2px; margin-bottom:0;">
    <script type="text/javascript">
        var desc="{$ProductDescription}";
        document.write(desc.substr(0,46)+"...");
    </script>
</p>
<p style="padding-bottom: 2px; margin-bottom: 0;">{$RatingStars} ({$TotalReviews} Kundenmeinung(en))</p>
 
Zurück
Oben