Ich habe etwas Text (der auch etwas Arabisch enthält) in DB gespeichert. Ich hole die Daten und zeige sie im Textfeld an.Wie richtet man einen Text so aus, dass er rechtsbündig im Textbereich ausgerichtet ist?
Ich möchte den englischen Text links ausgerichtet werden soll, und der arabische Text rechts ausgerichtet werden.
Dazu habe ich den ganzen Text in Absätze aufgeteilt und finde heraus, welcher Absatz rechtsbündig sein sollte und welcher linksbündig sein sollte.
Hier ist der Code.
/*------ Allign text ------*/
function align_text($text)
{
$string = $text;
$returnString = '';
$paraArray = explode("\n", $string);
if(count($paraArray) > 0)
{
foreach($paraArray as $pa)
{
$isRight = $this->is_rtl($pa);
if($isRight)
{
$para['para'] = $pa;
$para['align'] = 'R';
}
else
{
$para['para'] = $pa;
$para['align'] = 'L';
}
$paraArr[] = $para;
}
}
else
{
}
return $paraArr;
}
function is_rtl($string)
{
$rtl_chars_pattern = '/[\x{0590}-\x{05ff}\x{0600}-\x{06ff}]/u';
return preg_match($rtl_chars_pattern, $string);
}
So, wie Sie sehen können, kann jeder Absatz nach rechtsbündig angeordnet und links ausgerichtet, wenn sie in der Homepage (HTML) mit div anzeigt.
<?php
foreach($paraArr as $row)
{
if($row['align'] == 'L')
{?>
<div class="left-align"><?php echo $row['para'];?></div>
<?php
}
else
{?>
<div class="left-align"><?php echo $row['para'];?></div>
<?php }
}?>
Aber meine Hauptfrage ist, Wie kann ich ausrichten Arabisch Absatz als direkt in SAME TextArea- ausgerichtet?.
Arabischer Text wird nur angezeigt, wenn Benutzer auf der Webseite in arabischer Sprache schaut? Kannst du sowas nicht machen wie if (Englisch) {div class = "english"} Duplizierst du deinen Code, aber wenn der Benutzer die zweite arabische Klasse auswählt, kommt das ins Spiel? – izk