javascript - 如何将文本区域中的某些文本对齐为右对齐?

标签 javascript php jquery html css

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

enter image description here

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

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

这是代码。

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

但我的主要问题是,如何在 SAME textarea 中将阿拉伯语段落对齐为右对齐?

最佳答案

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

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

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

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

每个 div 的样式都可以独立地设置为从左到右或从右到左。只要用户点击它,它就会变得可编辑。

您也可以使用一些第三方 HTML 编辑器来代替文本区域。这里有一些例子(用谷歌搜索):TinyMCE、Scribe、jHTMLArea、CKEditor、Nicedit……

关于javascript - 如何将文本区域中的某些文本对齐为右对齐?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37433327/

相关文章:

php - 数据库:select Laravel 5 how to pass query results to my posts

php - 单击 PHP 按钮加载更多 MYSQL 结果

php - 我如何使用 php 处理大的 mysql 表进行登录验证

javascript - 如何传递使用 XMLHttpRequest 上传的图片?

jquery - 当新节点插入 dom 时是否会触发 jquery 事件?

javascript - (jQuery mobile) 动态网格显示很差

javascript - 带有 Mono Repo 的 react-scripts 的 testPattern --config=jest.config.js 无效

javascript - 如何对除最后一个之外的所有 <li> 实现添加/删除类?

JavaScript 变量带有我需要在 Html.ActionLink 中使用的 ID

jquery - 如何使用变量来切换多个元素