Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/440.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在textarea中将某些文本对齐为右对齐?_Javascript_Php_Jquery_Html_Css - Fatal编程技术网

Javascript 如何在textarea中将某些文本对齐为右对齐?

Javascript 如何在textarea中将某些文本对齐为右对齐?,javascript,php,jquery,html,css,Javascript,Php,Jquery,Html,Css,我有一些文本(也包含一些阿拉伯语)保存在数据库中。我正在获取数据并将其显示在文本区域中 我希望英文文本左对齐,阿拉伯文本右对齐。 为此,我将整个文本分成了几个段落,并检测哪个段落应该右对齐,哪个段落应该左对齐 这是密码 /*------ Allign text ------*/ function align_text($text) { $string = $text; $returnString = ''; $paraArray = explode("\n", $str

我有一些文本(也包含一些阿拉伯语)保存在数据库中。我正在获取数据并将其显示在文本区域中

我希望英文文本左对齐,阿拉伯文本右对齐。

为此,我将整个文本分成了几个段落,并检测哪个段落应该右对齐,哪个段落应该左对齐

这是密码

/*------ 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);
}
所以,正如您所看到的,当使用div在网页(html)中显示时,每个段落都可以按照右对齐和左对齐进行排列

<?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 }
}?>

但我的主要问题是,如何在同一文本区域内将阿拉伯语段落对齐为右对齐?

不能在一个文本区域内对齐(同时显示左对齐和右对齐的文本)。相反,您可以将它们显示为div,并使用
contentEditable
使其可编辑。每个div都有自己的对齐方式(左对齐或右对齐)

例如,您可以声明每个段落包含一个子div的父div:

<div>
      <div contenteditable="true">
             Paragraph one
      </div>

      <div contenteditable="true">
             Paragraph 2
      </div>
</div>

第一段
第2款
每个div可以单独设置为从左到右或从右到左。每当用户单击它时,它就会变得可编辑


您还可以使用一些第三方HTML编辑器,而不是textarea。这里有一些例子(谷歌搜索):TinyMCE、Scribe、jHTMLArea、CKEditor、Nicedit

阿拉伯文文本仅在用户查看阿拉伯文网页时显示?难道你不能做一些事情,比如如果(english){divclass=“english”}实际上复制了你的代码,但当用户选择阿拉伯语时,第二个样式类将发挥作用吗?你能解释一下这种方法吗?