$str ='<strong><span style="font-size:14px;" id="drug contraindication">drug contraindication</span></strong>aaaaa<strong><span style="font-size:14px;" id="to sleep">to sleep</span></strong>'; preg_replace正则将html属性ID中的空格替换成_(下划线)如下面这样 <strong><span style="font-size:14px;" id="drug_contraindication">drug contraindication</span></strong>aaaaa<strong><span style="font-size:14px;" id="to_sleep">to sleep</span></strong>
时间: 2023-06-24 16:05:53 浏览: 245
可以使用 preg_replace 函数结合正则表达式来实现将 HTML 属性 ID 中的空格替换成下划线的功能,示例如下:
```
$str = '<strong><span style="font-size:14px;" id="drug contraindication">drug contraindication</span></strong>aaaaa<strong><span style="font-size:14px;" id="to sleep">to sleep</span></strong>';
$str = preg_replace('/id="([^"]*)"/e', "'id=\"'.str_replace(' ', '_', '\\1').'\"'", $str);
echo $str;
```
输出结果为:
```
<strong><span style="font-size:14px;" id="drug_contraindication">drug contraindication</span></strong>aaaaa<strong><span style="font-size:14px;" id="to_sleep">to sleep</span></strong>
```
其中,正则表达式 `/id="([^"]*)"/e` 匹配字符串中的 id 属性,使用了 `/e` 选项将替换字符串解析为 PHP 代码执行,实现了将 id 属性值中的空格替换成下划线的功能。
相关问题
用SQL server设计一个“药房库存管理系统”,包含如下基本内容: 1. 药房进货、库存和销售的药品近万种。 2. 每种药品的名称、剂型、用法、存量、厂家、进价、售价、进货日期、有效期、销售日期和特殊禁忌等均需记录。 3. 药物按品种可分为十几类(西药外服、西药内用、西药注射、中成药、中药饮片、丸散膏等)。 4. 每天、周、月、年药品的销售信息。 5. 每天、周、月、年药品的进货信息。 6. 库存的每种药品的详细信息。
好的,我可以为您提供一个药房库存管理系统的SQL Server设计示例。首先,我们需要创建以下数据表:
1. 药品表(medicine):包含药品的基本信息,如名称、剂型、用法、存量、厂家、进价、售价、进货日期、有效期、销售日期和特殊禁忌等。
字段名 | 数据类型 | 描述
---|---|---
id | int | 药品ID,主键,自增
name | varchar(50) | 药品名称
type | varchar(20) | 药品类型,如西药外服、西药内用、西药注射、中成药、中药饮片、丸散膏等
usage | varchar(50) | 药品用法
stock | int | 库存量
manufacturer | varchar(50) | 生产厂家
purchase_price | decimal(10,2) | 进货价
selling_price | decimal(10,2) | 售价
purchase_date | date | 进货日期
expiry_date | date | 有效期
sales_date | date | 销售日期
contraindication | varchar(100) | 特殊禁忌
2. 进货表(purchase):记录每次进货的详细信息。
字段名 | 数据类型 | 描述
---|---|---
id | int | 进货ID,主键,自增
medicine_id | int | 药品ID,外键,关联药品表
quantity | int | 进货数量
total_price | decimal(10,2) | 进货总价
purchase_date | date | 进货日期
3. 销售表(sales):记录每次销售的详细信息。
字段名 | 数据类型 | 描述
---|---|---
id | int | 销售ID,主键,自增
medicine_id | int | 药品ID,外键,关联药品表
quantity | int | 销售数量
total_price | decimal(10,2) | 销售总价
sales_date | date | 销售日期
4. 库存表(stock):记录每种药品的库存详细信息。
字段名 | 数据类型 | 描述
---|---|---
id | int | 库存ID,主键,自增
medicine_id | int | 药品ID,外键,关联药品表
quantity | int | 库存数量
在这些表中,药品表是主要的表,用于记录药品的基本信息。进货表和销售表则分别记录药品进货和销售的详细信息,同时也关联药品表以便查询特定药品的进货和销售情况。库存表则记录每种药品的库存情况,方便药房管理库存。
除此之外,您还可以创建一些视图或存储过程,用于查询每天、每周、每月、每年的药品销售和进货信息。例如,您可以创建一个每月销售额视图,如下所示:
```sql
CREATE VIEW monthly_sales AS
SELECT MONTH(sales_date) AS month, YEAR(sales_date) AS year, SUM(total_price) AS sales_total
FROM sales
GROUP BY MONTH(sales_date), YEAR(sales_date)
```
这个视图将返回每个月的销售总额,以便药房管理人员可以更好地了解药品销售情况。
以上是一个简单的药房库存管理系统的SQL Server设计示例,您可以根据实际需求进行调整和完善。
阅读全文