首页 > 解决方案 > 从输入中提取文本内的子字符串并将文本存储在文件夹/目录中

问题描述

当按下图像按钮时,我有一个文本区域:

文本区域中的图像

当用户“添加消息”时,我需要在文本中找到字符串,以便提取 url。例如<img src="image.png">,我想获取它image.png以便我可以处理它并将其存储在文件夹系统中。

1.正则表达式查找位置

我需要在这里使用一些javascript。我需要从第一个报价开始,到第二个报价结束。我正在努力寻找一种方法来做到这一点,而不会误解文本中使用的其他引号。

我试过的:

function getIndicesOf(text) {
    
    var StartIndex = text.search("src=\"") + 5;
    var EndIndex = // not sure, maybe I can search for image extensions (png,jpeg) etc. 
    var imageAddress = text.substring(StartIndex,EndIndex);
    return imageAddress;
}

2.存入文件夹

我理解我相信,在使用<input type=file>. 但是,在 php 中我可以$_FILE['image']['name'] $imageAddress

所以而不是

<?php
$name = (isset($_POST['project_name']) ) ? $_POST['project_name'] : '';

$fixedPath = "projects_data/";

if (file_exists("uploads/" . $_FILES["project_image"]["name"]))
      {
      echo $_FILES["project_image"]["name"] . " already exists. ";
      }
    else
      {
      
      move_uploaded_file($_FILES["project_image"]["name"],
     "$fixedPath/$name/". $_FILES["project_image"]["name"]);
    echo "Stored in: " . "$fixedPath/$name/" . $_FILES["project_image"]["name"];
      }
?>

我可以替换$_FILES['project_image']['name']并执行此操作:

<?php

$name = $imageAddress;
$fixedPath = "projects_data/";

if (file_exists("uploads/" . $imageAddress))
      {
      echo $imageAddress . " already exists. ";
      }
    else
      {
      
      move_uploaded_file($imageAddress,
     "$fixedPath/$name/". $imageAddress);
    echo "Stored in: " . "$fixedPath/$name/" . $imageAddress;
      }
?>

我希望我已经提供了足够的信息来帮助你理解我想要达到的目标。如果我还没有,请告诉我,我会编辑它。

谢谢。

标签: javascriptphp

解决方案


推荐阅读